Senin, 18 April 2011

Program Invers Matrik Ordo 3x3

#include (stdio.h)
#include (stdlib.c)
#include (conio.h)
note: kurungnya nanti ganti sama kurung yang kurang dari dan lebih dari ya(< and>)
int main(){
int i,j,det;
    int A[3][3],d=0;
    double b[3][3];
    double c[3][3];
    int baris, kolom;
    for(baris=0; baris<3; baris++ ){
        for(kolom=0; kolom<3; kolom++){
        printf("\tMatriks A(%d,%d) = ",baris,kolom);scanf("%d",&A[baris][kolom]);
        }
    }

Karena codingnya kepanjangan, jadi saya potong dan anda bisa kelanjutannya dengan klik baca selanjutnya...(^_^) hehehehe

    i = 0;
    det = 0;
    for ( j = 0 ; j < 3 ; j++){
    switch (j){
        case 2 : det += A[i][j] * A[i+1][0] * A[i+2][1];break;
        case 1 : det += A[i][j] * A[i+1][j+1] * A[i+2][0];break;
    default : det += A[i][j] * A[i+1][j+1] * A[i+2][j+2];break;
            }
    }
    i = 2;
    for ( j = 0 ; j < 3 ; j++){
    switch (j){
        case 2 : det -= A[i][j] * A[i-1][0] * A[i-2][1];break;
        case 1 : det -= A[i][j] * A[i-1][j+1] * A[i-2][0];break;
    default : det -= A[i][j] * A[i-1][j+1] * A[i-2][j+2];break;
        }
    }
    printf("Determinan Matriks A = %d\n\n",det);
    for(baris=0; baris<3; baris++ ){
        for(kolom=0; kolom<3; kolom++){
        printf("\t%d",A[baris][kolom]);
        }printf("\n");
    }
    printf("\nTranspose Matriks A = \n");
    for(baris=0; baris<3; baris++ ){
        for(kolom=0; kolom<3; kolom++){
    c[baris][kolom]=A[kolom][baris];
        printf("\t%.2f",c[baris][kolom]);
        }printf("\n");
    }
    printf("\nInverse Matriks A = \n");
    if(det!=0){
    for(baris=0; baris<3; baris++ ){
        for(kolom=0; kolom<3; kolom++){
        b[baris][kolom]=(1.00/det)*c[kolom][baris];
    printf("\t%.2f",b[baris][kolom]);
            }
            printf("\n");
        }
    }else{
    printf("maaf matriks anda matriks nol\n");

    }
    return 0;
}


Tidak ada komentar:

Powered By Blogger