[ display_error @ 21.09.2015. 15:02 ] @
Definisana je struktura za smještanje kvadratnih matrica: Code: typedef struct { int **matrica; int format; }MATRICA; Kako sabrati 'n' matrica? #include<stdio.h> #include<stdlib.h> #define MAX 10 typedef struct { int **matrica; int format; }MATRICA; void citaj_matricu(MATRICA *pm) { do { printf("format="); scanf("%d",&pm->format); } while(pm->format < 1 || pm->format > MAX); pm->matrica=(int **)calloc(pm->format,sizeof(int *)); int i,j,b=0; for(i=0;i<pm->format;i++) { pm->matrica[i]=(int *)calloc(pm->format,sizeof(int)); for(j=0;j<pm->format;j++,b++) pm->matrica[i][j]=b; } for(i=0;i<pm->format;i++) for(j=0;j<pm->format;j++) { printf("mat[%d][%d]",i,j); scanf("%d",&pm->matrica[i][j]); } } void zbir(MATRICA *niz,int *n,MATRICA *rez) { do { printf("broj matrica:"); scanf("%d",n); } while(*n < 1); niz=(MATRICA *)malloc(*n * sizeof(MATRICA)); rez=(MATRICA *)malloc(rez->format *sizeof(MATRICA)); int i; for(i=0;i<*n;i++) { /*SABIRANJE???*/ } } void ispis(MATRICA *pm) { int i,j; for(i=0;i<pm->format;i++){ for(j=0;j<pm->format;j++){ printf("%d\t",pm->matrica[i][j]); } printf("\n"); } } void obrisi(MATRICA *pm) { int i; for(i=0;i<pm->format;i++) free(pm->matrica[i]); } int main()/*problem sa dinamickom alokacijom */ { MATRICA *niz; MATRICA *rez; int i,n; for(i=0;i<n;i++) { printf("%d. matrica:",i+1); citaj_matricu(niz+i); } zbir(niz,&n,rez);/*funkcija je void tipa, kako smjestiti rezultat u promjenjivu?*/ ispis(rez); for(i=0;i<n;i++) obrisi(niz+i); free(niz); free(rez); return 0; } Može li neko da pokaže kako da se sabere 'n' matrica? Kako smjestiti rezultat u promjenjivu (funkcija za zbir je void tipa)? Ne mogu da pronađem grešku (kod neće da kompajlira). [Ovu poruku je menjao display_error dana 21.09.2015. u 16:13 GMT+1] [Ovu poruku je menjao display_error dana 21.09.2015. u 20:08 GMT+1] [Ovu poruku je menjao X Files dana 21.09.2015. u 22:03 GMT+1] |