Minggu, 22 Mei 2016

Tabel perkalian antara 10 matrik kolom dan 10 matrik baris (array 2 dimensi)

#include <iostream>
#include <iomanip>
using namespace std;
class Matriks {
friend ostream& operator<<(ostream&, Matriks&);
friend istream& operator>>(istream&, Matriks&);
public:
void baca_matriks();
void perkalian_matriks(const Matriks&);
void matriks_jumlah(const Matriks&);
void cetak_matriks();
private:
int A[10][10];
int baris, kolom;
};
void Matriks::baca_matriks ()
{ int i,j;
for (i=0; i<baris; i++){
for (j=0; j<kolom; j++) {
cout << "Data [" << i+1 << "," << j+1 << "] : ";
cin >> A[i][j];
}
}
}
void Matriks::cetak_matriks ()
{ int i,j;
for (i=0; i<baris; i++)
{ for (j=0; j<kolom; j++)
cout << setw(5) << A[i][j] << " ";
cout << endl;
}
}
void Matriks::perkalian_matriks(const Matriks& matriks1)
{ int i,j,k;
int barkol;
baris = matriks1.baris;
kolom = matriks1.kolom;
barkol = matriks1.kolom;
for (i=0; i<baris; i++)
for (j=0; j<kolom; j++) {
A[i][j] = 0;
for (k=0; k<barkol; k++)
A[i][j] = A[i][j] + matriks1.A[i][k] * matriks1.A[k][j];
}
cetak_matriks();
}
istream& operator>>(istream& in, Matriks& A) {
cout << "Banyak baris : ";
in >> A.baris;
cout << "Banyak kolom : ";
in >> A.kolom;
cout << "Masukkan data matriks\n";
A.baca_matriks();
cout << "Matriks yang dibuat adalah : \n";
A.cetak_matriks();
return in;
}
main() {
Matriks matriks1;
Matriks jumlah;
cout << "Memasukkan data matriks I \n";
cin >> matriks1;
cout << "Hasil Perkalian : \n";
jumlah.perkalian_matriks(matriks1);
return 0;
}








0 komentar

Posting Komentar