Tugas Bahasa Pemrograman: Nama: Izdyad Fathin NIM: F1B010042 Perkalian Matriks Menggunakan Pointer

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 4

Tugas Bahasa Pemrograman

Nama : Izdyad Fathin NIM : F1B010042 Perkalian Matriks Menggunakan Pointer


#include #include #include #include <conio.h> <iostream.h> <stdio.h> <stdlib.h>

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:

Transpose Matriks Menggunakan Pointer


#include <iostream.h> #include <conio.h> #include <iomanip.h> void main() { int **A; int p, q; cout<<"Masukkan jumlah baris: "; cin>>p; cout<<"Masukkan jumlah kolom: "; cin>>q; A= new int *[p]; for(int i=0; i<q; i++) A[i]= new int [q]; for(int i=0; i<p; i++) { for(int j=0; j<q; j++) { cout<<"Matriks ["<<i<<", "<<j<<"]"; cin>>A[i][j]; } cout<<endl; } clrscr(); cout<<endl<<endl; cout<<"Isi matriks yang telah anda masukkan\n\n"; for(int i=0; i<p; i++) { for(int j=0; j<q; j++) { cout<<setw(5)<<A[i][j]; } cout<<endl; } cout<<endl; cout<<"Transpose matriks\n\n"; for(int j=0; j<q; j++) { for(int i=0; i<p; i++) { cout<<setw(5)<<A[i][j]; } cout<<endl; }

getch(); for(int i=0; i<p; i++) delete[] A[i]; delete[] A; }

Screenshot:

You might also like