ARRAY 2 DIMENSI (MATRIK)
OPERASI-OPERASI MATRIK INPUT MATRIK OUTPUT MATRIK PENJUMLAHAN MATRIK PENGURANGAN MATRIK TRANSPOSE MATRIK MENGAMBIL DIAGONAL MATRIK MENAMPILKAN NILAI MAKSIMAL DAN MINIMAL PERKALIAN MATRIK DENGAN KONSTANTA TERTENTU PERKALIAN MATRIK
Input Matrik int A[3][2];//matrik 3x2 for(int j=0;j<3;j++) { for(int k=0;k<2;k++) {cout<<"A["<<j<<"]["<<k<<"] = "; cin>>A[j][k]; }
Output Matrik int C[3][2] for(int j=0;j<3;j++) { for(int k=0;k<2;k++) {cout<<"C["<<j<<"]["<<k<<"]=" <<C[j][k]<<endl;; }
Penjumlahan Matrik Agar kedua matrik dapat dijumlahkan harus memiliki jumlah baris dan kolom yang sama. Ada 3 matrik yang dibutuhkan yaitu matrik A,B dan C. Inputkan matrik A dan matriks B Matrik C untuk menampung hasil penjumlahan matriks A dan B sesuai dengan elemen-elemennya. Elemen matrik A [0][0] dijumlahkan dengan elemen matrik B [0][0] juga dan disimpan di elemen matriks C [0][0] dan seterusnya, dengan rumus C[0][0] = A[0][0] + B[0][0].
typedef int matrik[2][3]; matrik A,B,C; for(int j=0;j<3;j++) 11 4 3 6 13 9 = 2 3 1 6 9 8 + 9 1 2 4 typedef int matrik[2][3]; matrik A,B,C; for(int j=0;j<3;j++) { for(int k=0;k<2;k++) { C[j][k]=A[j][k] + B[j][k]; }
Pengurangan Matrik Agar kedua matrik dapat dikurangkan harus memiliki jumlah baris dan kolom yang sama. Ada 3 matrik yang dibutuhkan yaitu matrik A,B dan C. Inputkan matrik A dan matriks B Matrik C untuk menampung hasil pengurangan matriks A dan B sesuai dengan elemen-elemennya. Elemen matrik A [0][0] dikurangkan dengan elemen matrik B [0][0] juga dan disimpan di elemen matriks C [0][0] dan seterusnya, dengan rumus C[0][0] = A[0][0] - B[0][0].
typedef int matrik[2][3]; matrik A,B,C; for(int j=0;j<3;j++) -7 2 -1 6 5 7 = 2 3 1 6 9 8 - 9 1 2 4 typedef int matrik[2][3]; matrik A,B,C; for(int j=0;j<3;j++) { for(int k=0;k<2;k++) { C[j][k]=A[j][k] - B[j][k]; }
Transpose Matrik Transpose adalah elemen baris matriks akan menjadi kolom matriks dan sebaliknya kolom matriks akan menjadi baris matriks. Matriks Awal : Hasil Transpose: Siapkan matriks hasil untuk menampung hasil transpose for(int j=0;j<3;j++) { for(int k=0;k<3;k++) { transpose[j][k] = A[k][j];} } 1 2 3 4 5 6 7 8 9 1 4 7 2 5 8 3 6 9
Mengambil diagonal Matrik Mengambil diagonal matrik yaitu mengambil nilai dari baris dan kolom yang sama. Matrik awal : Diagonal : 1,5,9 1 2 3 4 5 6 7 8 9 for(int i=0;i<3;i++) { for(int j=0;j<3;j++) { if (i==j) { cout<<diagonal[i][j]; } }
Menampilkan nilai mak & min matrik for(int i=0;i<2;i++) { for(int j=0;j<2;j++) { cout<<"matrik["<<i<<"]["<<j<<"]="; cin>>matrik[i][j]; if (i==0 && j==0) { max = matrik[i][j]; min = matrik[i][j]; } else { if (max<matrik[i][j]){ max = matrik[i][j];} if (min>matrik[i][j]){ min = matrik[i][j];} }
Perkalian matrik dengan konstanta 1 2 3 4 5 6 7 8 9 Matrik A dikalikan dengan konstanta 2, menjadi : 2 4 6 8 10 12 14 16 18 for(i=0;i<2;i++) { for(j=0;j<2;j++) { cout<<"matrik ["<<i<<"]["<<j<<"]="; cin>>matrik[i][j]; hasil[i][j] = matrik[i][j]*3 ; }
Perkalian matrik A[2][3] B[3][5] C[2][5] X = 1 2 3 4 5 6 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 X = 46 52 58 64 70 100 115 130 145 160 (1*1)+(2*6)+(3*11)= 1+12+33 = 46 (1*2)+(2*7)+(3*12)= 2+14+36 = 52 (1*3)+(2*8)+(3*13)= 3+16+39 = 58 (1*4)+(2*9)+(3*14)= 4+18+42 = 64 (1*5)+(2*10)+(3*15)= 5+20+45 = 70 for(i=0;i<2;i++) { for(j=0;j<5;j++) { C[i,j] = 0; for(k=0;k<3;k++) { C[i][j] = C[i][j] + A[i][k] * B[k][j]; } } } (4*1)+(5*6)+(6*11)= 4+30+66 = 100 (4*2)+(5*7)+(6*12)= 8+35+72 = 115 (4*3)+(5*8)+(6*13)= 12+40+78 = 130 (4*4)+(5*9)+(6*14)= 16+45+84 = 145 (4*5)+(5*10)+(6*15)= 20+50+90 = 160 Syarat !!! Jumlah kolom matrik A harus sama dgn jumlah baris matrik B