MAtrizenaddition!!
-
Ich grüße euch!
Ich habe zur Zeit Probleme wie ich meine Matrizen bis A^n alle zusammen summiere! Die Multiplikation funzt super aber meine Additionsfunktion will einfach nicht! Vielleicht könnt ihr mir da weiterhelfen??
zu meiner Addierfunktion:
int *matrix_add(int *a,int *b, int m, int n, int o){ int i,j,k; int *c; c = (int *) calloc(n*m*o, sizeof(int)); for(i=0; i<m; i++){ for(j=0; j<n; j++){ *(c+i*n+j)=0; *(c+i*n+j)+= *(a+i*n+j) + (*(b+i*n+j)); } } return (c);
Und meine meine Main-Programm:
void main(){ int n,i; printf("Anzahl der Knoten: "); scanf("%d", &n); int *a = adjazenzmatrix(n); int *b = a; int *c; for(i=0; i<n-1; i++) { b = matrix_mult(b,a,n,n,n); c = b; c = matrix_add(c,a,n,n,n); } ausgabe(c,n); free(a); free(b); getchar(); getchar(); }//end of main
-
Probier mal so:
for(i=0; i<m; i++){ for(j=0; j<n; j++){ c[i*n+j)] = a[i*n+j] + b[i*n+j); } }
Gruss,
MiPEDIT: Natürlich nur eckige Klammern bei der Zuweisung
c[i*n+j] = a[i*n+j] + b[i*n+j];