sugeng rawuh...

Thursday 19 May 2011

pointer

#include<stdio.h>
#include<stdlib.h>
#define mak_kolom 10
int rumus(int baris,int kolom);
main(){
    int bar,kol;
    printf("Baris matrik : ");scanf("%d",&bar);
    printf("Kolom matrik : ");scanf("%d",&kol);
    rumus(bar,kol);
    getch();
}
int rumus(int baris,int kolom){
    int (*P)[mak_kolom],(*Q)[mak_kolom],(*R)[mak_kolom];
    int i,j;
   
    P=malloc(baris * mak_kolom * sizeof(int));if (!P) return;
    Q=malloc(baris * mak_kolom * sizeof(int));if (!Q) return;
    R=malloc(baris * mak_kolom * sizeof(int));if (!R) return;
   
    printf("Masukkan data matrik P : \n");
    printf("======================== \n");
    for(i=0;i<baris;i++){
        for(j=0;j<kolom;j++){
            printf("P (%d,%d) : ",i+1,j+1);scanf("%d",(*(P+i)+j));
        }
    }
    printf("Masukkan data matrik Q : \n");
    printf("======================== \n");
    for(i=0;i<baris;i++){
        for(j=0;j<kolom;j++){
            printf("Q (%d,%d) : ",i+1,j+1);scanf("%d",(*(Q+i)+j));
        }
    }
   
    for(i=0;i<baris;i++){
        for(j=0;j<kolom;j++){
            *(*(R+i)+j)=*(*(P+i)+j) + *(*(Q+i)+j);
        }
    }
   
    printf("Hasil Penjumlahan Matrik P dan Q adalah : \n");
    for(i=0;i<baris;i++){
        for(j=0;j<kolom;j++){
            printf("%d ",*(*(R+i)+j));
        }
    printf("\n");
    }
    free(P);
    free(Q);
    free(R);
}

No comments:

Post a Comment