#include void summa(double a[3][3], double b[3][3], double c[3][3]) { int i,j; for (i=0; i<3; i++) for (j=0; j<3; j++) c[i][j] = a[i][j] + b[i][j]; } double rivi_x_sarake(double a[3][3], int i, double b[3][3], int j) { double s=0.0; int k; for (k=0; k<3; k++) s += a[i][k]*b[k][j]; return s; } void tulo(double a[3][3], double b[3][3], double c[3][3]) { int i,j; for (i=0; i<3; i++) for (j=0; j<3; j++) c[i][j] = rivi_x_sarake(a,i,b,j); } void tulosta_mat(double a[3][3]) { int i,j; for (i=0; i<3; i++) { for (j=0; j<3; j++) printf("%6.1lf ",a[i][j]); printf("\n"); } } int main(void) { double a[3][3] = { {1,2,3}, {4,5,6}, {7,8,9} }; double b[3][3] = { {1,0,2}, {0,0,3}, {2,0,1} }; double c[3][3]; summa(a,b,c); tulosta_mat(c); tulo(a,b,c); tulosta_mat(c); return 0; }