Skip to content

Instantly share code, notes, and snippets.

@LuckyIndraEfendi
Last active October 10, 2022 12:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save LuckyIndraEfendi/14f9d7cac422e6f48dcd7cab5a4627ee to your computer and use it in GitHub Desktop.
Save LuckyIndraEfendi/14f9d7cac422e6f48dcd7cab5a4627ee to your computer and use it in GitHub Desktop.
#include <stdio.h>
void preview(int matriks[2][2]) {
int i, j;
for (i = 0; i < 2; ++i) {
printf("[");
for (j = 0; j < 2; ++j)
printf("%2d%s", matriks[i][j], (j + 1) < 2 ? ", " : "");
printf("]\n");
}
}
main() {
int pilih, i, j, k;
int matriks_1[2][2], matriks_2[2][2], matriks_hasil[2][2];
printf("Menu pilihan \n");
printf("1. Penjumlahan\n");
printf("2. Perkalian\n");
printf("3. Selesai\n");
printf("Pilih : ");
scanf("%d", &pilih);
printf("\nMatriks 1\n");
for (i = 0; i < 2; ++i) for (j = 0; j < 2; ++j) {
printf("Input matriks ke-1 [%d][%d] : ", i, j);
scanf("%d", &matriks_1[i][j]);
}
printf("\nMatriks 2\n");
for (i = 0; i < 2; ++i) for (j = 0; j < 2; ++j) {
printf("Input matriks ke-2 [%d][%d] : ", i, j);
scanf("%d", &matriks_2[i][j]);
}
if (pilih > 2)
return;
else if (pilih == 1)
for (i = 0; i < 2; ++i) for (j = 0; j < 2; ++j)
matriks_hasil[i][j] = matriks_1[i][j] + matriks_2[i][j];
else if (pilih == 2)
for (i = 0; i < 2; ++i) for (j = 0; j < 2; ++j) {
int temp = 0;
for (k = 0; k < 2; ++k)
temp += matriks_1[i][k] * matriks_2[k][j];
matriks_hasil[i][j] = temp;
}
printf("\nMatriks ke-1 :\n");
preview(matriks_1);
printf("\nMatriks ke-2 :\n");
preview(matriks_2);
printf("\nHasil operasi %s kedua matriks :\n", pilih == 1 ? "penjumlahan" : "perkalian");
preview(matriks_hasil);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment