membuat penjumlahan, pengurangan, perkalian matriks c++

/
0 Comments
Assalamualaikum..
oke, saya akan share lagi tentang tugas matkul Algoritma dan pemrograman, soalnya gini suruh membuat penjumlahan, pengurangan, perkalian matriks yang inputan ordonya ditentukan user.
view:



codingnya :
#include <iostream>
using namespace std;
void garis() {
cout<<"======================================\n";
}
main() {
int jawab,batas;
float matrikA[10][10], matrikB[10][10],matrikC[10][10],tKolomA,tBarisA,tKolomB,tBarisB;
char hasil;

input:
cout<<"Input total Kolom Matriks A\t:"; cin>>tKolomA;
cout<<"Input total Baris Matriks A\t:"; cin>>tBarisA;
garis();
cout<<"Input total Kolom Matriks B\t:"; cin>>tKolomB;
cout<<"Input total Baris Matriks B\t:"; cin>>tBarisB;

if (tKolomA == tKolomB && tBarisA == tBarisB && tKolomA == tBarisB){
satu:
string data[] = {"1. Penjumlahan","2. Pengurangan","3. Perkalian"};
batas = sizeof(data)/sizeof(data[0]);
cout<<"Pillih Operasi :\n";
for(int z=0;z<batas;z++) {
cout<<data[z]<<endl;
}
cout<<"jawab :"; cin>>jawab;
if (jawab == 1 or jawab == 2 or jawab == 3) {
goto hitung;
} else {
cout<<"yang anda masukkan kurang tepat,\n";
cout<<"coba lagi?(y/n) ";
cin>>hasil;
if (hasil == 'y' || hasil == 'Y') {
system("cls");
goto satu;
} else {
return 0;
}
}
} else if(tKolomA == tBarisB) {
dua:
string data[] = {"3. Perkalian"};
batas = sizeof(data)/sizeof(data[0]);
cout<<"Pillih Operasi :\n";
for(int z=0;z<batas;z++) {
cout<<data[z]<<endl;
}
cout<<"jawab :"; cin>>jawab;
if (jawab == 3) {
goto hitung;
} else {
cout<<"yang anda masukkan kurang tepat,\n";
cout<<"coba lagi?(y/n) ";
cin>>hasil;
if (hasil == 'y' || hasil == 'Y') {
system("cls");
goto input;
} else {
return 0;
}

} else if(tKolomA == tKolomB && tBarisA == tBarisB) {
tiga:
string data[] = {"1. Penjumlahan","2. Pengurangan"};
batas = sizeof(data)/sizeof(data[0]);
cout<<"Pillih Operasi :\n";
for(int z=0;z<batas;z++) {
cout<<data[z]<<endl;
}
cout<<"jawab :"; cin>>jawab;
if (jawab == 1 or jawab == 2) {
goto hitung;
} else { goto tiga; }
} else { goto eror; }
hitung:
cout<<"=========Matrik A============\n";
for(int a=0;a<tBarisA;a++) {
for(int b=0;b<tKolomA;b++) {
cout<<"Masukkan Matrik "<<a<<","<<b<<": "; cin>>matrikA[a][b];
}
}
cout<<"=========Matrik B============\n";
for(int a=0;a<tBarisB;a++) {
for(int b=0;b<tKolomB;b++) {
cout<<"Masukkan Matrik "<<a<<","<<b<<": "; cin>>matrikB[a][b];
}
}
garis();
switch(jawab) {
case 1 :
for(int a=0;a<tBarisA;a++) {
for(int b=0;b<tKolomB;b++) {
matrikC[a][b] = matrikA[a][b] + matrikB[a][b];
cout<<matrikC[a][b]<<ends;
}
cout<<endl;
}
break;
case 2 :
for(int a=0;a<tBarisA;a++) {
for(int b=0;b<tKolomB;b++) {
matrikC[a][b] = matrikA[a][b] - matrikB[a][b];
cout<<matrikC[a][b]<<ends;
}
cout<<endl;
}
break;
case 3 :
for(int a=0;a<tBarisA;a++) {
for(int b=0;b<tKolomB;b++) {
matrikC[a][b]=0;
for(int c=0;c<tBarisB;c++) {
matrikC[a][b] = matrikC[a][b]+matrikA[a][c]*matrikB[c][b];
}
cout<<matrikC[a][b]<<ends;
}
cout<<endl;
}
break;
default:
goto eror;
break;
}

eror:
cout<<"yang anda masukkan kurang tepat,\n";
cout<<"coba lagi?(y/n) ";
cin>>hasil;
if (hasil == 'y' || hasil == 'Y') {
system("cls");
goto input;
} else {
return 0;
}
}

sekian, semoga bermanfaat


You may also like

Tidak ada komentar:

Diberdayakan oleh Blogger.