#include /* Varataan matriiseille tilaa N*N alkion verran. * Laskuissa käytettävä koko kysytään jälleen käyttäjältä. */ #define N 100 /* Matriisien summa ja tulo eivät välttämättä ole määriteltyjä * (jos matriisin väärän kokoiset), joten laskutoimituksen tekeville * funktioille määritellään palautusarvo: 1 jos lasku onnistui, 0 jos ei. * Vakio kertaa matriisi ja transpoosi ovat aina määriteltyjä. */ int matr_sum(double A[N][N], double B[N][N], double C[N][N], int nA, int mA, int nB, int mB); void scal_mult(double A[N][N], double a, double C[N][N], int nA, int mA); int matr_prod(double A[N][N], double B[N][N], double C[N][N], int nA, int mA, int nB, int mB); void transpose(double A[N][N], double C[N][N], int nA, int mA); void prn_matr(double A[N][N], int nA, int mA); int main() { int mA,nA,mB,nB; int i,j; double A[N][N], B[N][N]; printf("Enter dimensions of A (separated by a space): "); scanf("%i %i",&mA,&nA); printf("Enter components of A:\n"); for(i=0;i