Dari pada susah-susah ngitung Determinan secara manual mending komputer aja yang suruh mikir, ya ga? :P
#include <stdio.h>
#include <conio.h>
int a[3][3],mat,ukuran,hasil;
char ulang;
void matriks(){
printf("Elemen Matriks A :\n");
for (int i=0;i<ukuran;i++)
{
for (int j=0;j<ukuran;j++)
{
printf("Elemen ke [%d][%d] = ",i,j);
scanf("%d",&a[i][j]);
}
}
}
void determinan(){
printf("\nMatriks A :\n");
for (int i=0;i<ukuran;i++){
for (int j=0;j<ukuran;j++){
mat = a[i][j];
printf("%d\t",mat);
}
printf("\n");
}
switch (ukuran){
case 1 :
hasil = a[0][0];
printf("\nDeterminan Matriks A : \n");
printf("%d",hasil);break;
case 2 :
hasil = (a[0][0]*a[1][1])-(a[1][0]*a[0][1]);
printf("\nDeterminan Matriks A : \n");
printf("%d - %d = ",(a[0][0]*a[1][1]),(a[1][0]*a[0][1]));
printf("%d",hasil);break;
case 3 :
hasil = (a[0][0]*(a[1][1]*a[2][2]-a[2][1]*a[1][2]))- (a[0][1]*(a[1][0]*a[2][2]-a[2][0]*a[1][2]))+(a[0][2]*(a[1][0]*a[2][1]-a[2][0]*a[1][1]));
printf("\nDeterminan Matriks A : \n");
printf("%d(%d) - %d(%d) + %d(%d) = ",a[0][0],(a[1][1]*a[2][2]-a[2][1]*a[1][2]),a[0][1],(a[1][0]*a[2][2]-a[2][0]*a[1][2]),a[0][2],(a[1][0]*a[2][1]-a[2][0]*a[1][1]));
printf("%d",hasil);break;
}
}
void perulangan(){
do{
clrscr();
printf("Masukkan ukuran matriks antara 1 - 3 : ");scanf("%d",&ukuran);
}while (ukuran >3);
printf("Ukuran matriks adalah %d x %d\n\n",ukuran,ukuran);
matriks();
determinan();
printf("\n\nUlang? (y/t) ");scanf("%s",&ulang);
}
void main(){
do{
perulangan();
}while(ulang=='y');
if (ulang=='t'){
printf("\nTERIMAKASIH\n\n");
printf("By : Cahyo Dimas Kurnianto\n");
printf(" 672010012");
}
}
Tidak ada komentar:
Posting Komentar