Professional Documents
Culture Documents
Tugas Bahasa Pemrograman: Nama: Izdyad Fathin NIM: F1B010042 Perkalian Matriks Menggunakan Pointer
Tugas Bahasa Pemrograman: Nama: Izdyad Fathin NIM: F1B010042 Perkalian Matriks Menggunakan Pointer
Tugas Bahasa Pemrograman: Nama: Izdyad Fathin NIM: F1B010042 Perkalian Matriks Menggunakan Pointer
void Masukan(int *q, int brs, int klm) { int i, j; for(i = 0; i < brs; i++) { for(j = 0; j < klm; j++) { cout << "Elemen [" << (i + 1) << "][" << (j + 1) << "]? "; scanf("%d", (q + i * klm + j)); } } } void Tampilkan(int *q, int brs, int klm) { int i, j; for(i = 0; i < brs; i++) { cout << endl; for(j = 0; j < klm; j++) { cout << *(q + i * klm + j) << "\t"; } } cout << endl; } void Kali(int *p, int *q, int *z, int bA, int kA, int bB, int kB) { int i, j, k; for(i = 0; i < bA; i++) { for(j = 0; j < kB; j++) { *(z + i * bB + j) = 0; for(k = 0; k < kA; k++) { *(z + i * bB + j) += *(p + i * kA + k) * (*(q + k * kB + j)); } } } } int main() { int *a, *b, *c, brsA, klmA, brsB, klmB; clrscr(); cout << "Jumlah Baris Matriks A? "; cin >> brsA;
cout << "Jumlah Kolom Matriks A? "; cin >> klmA; cout << "Jumlah Baris Matriks B? "; cin >> brsB; cout << "Jumlah Kolom Matriks B? "; cin >> klmB; if(klmA != brsB) { cout << "Perkalian TIDAK Dapat Dilakukan." << endl; cout << "Jumlah Kolom A TIDAK Sama Dengan Jumlah Baris B." << endl; } else { a = (int *) malloc(brsA * klmA * 4); b = (int *) malloc(brsB * klmB * 4); c = (int *) malloc(brsA * klmB * 4); clrscr(); cout << "Input Matriks A:\n" << endl; Masukan(a, brsA, klmA); getch(); clrscr(); cout << "Input Matriks B:\n" << endl; Masukan(b, brsB, klmB); getch(); clrscr(); cout << "Matriks A:" << endl; Tampilkan(a, brsA, klmA); cout << "\nMatriks B:" << endl; Tampilkan(b, brsB, klmB); Kali(a, b, c, brsA, klmA, brsB, klmB); cout << "\nMatriks A x B:" << endl; Tampilkan(c, brsA, klmB); } getch(); return 0; }
Screenshot:
Screenshot: