Red de conocimiento informático - Descarga de software - Escribir programas de suma, resta, multiplicación y división de matrices en lenguaje C

Escribir programas de suma, resta, multiplicación y división de matrices en lenguaje C

# include & ltiostream & gt

# include & ltiomanip & gt

Usar espacio de nombres std

Plantilla & lttypename T1, typename T2 >>p>

void inverse (T1*mat1, T2 *mat2, int a, int b);

Plantilla & lttypename T1, typename T2>

void multi(T1*mat1, T2 * mat2, T2*resultado, int a, int b, int c);

Plantilla & lttypename T & gt

salida nula (T*mat, char *s, int a, int b);

int main(){

int medio[6][3], resultado[6][4]

int matriz1 [ 3][6]={8, 10, 12, 23, 1, 3, 5, 7, 9, 2, 4, 6, 34, 45, 56, 2, 4, 6};

int matriz2[3][4]={3, 2, 1, 0, -1, -2, 9, 8, 7, 6, 5, 4};

char * s 1 = " resultado ";

char * s2 = " medio

//inverso(matriz1, medio, 6, 3);

Inverso<int[6 ], int [3]> (matriz1, medio, 6, 3);

//multi(medio, matriz2, resultado, 6, 3, 4); ,int[4]>(medio, matriz2,resultado,6,3,4);

salida(matriz1,"matriz1",3,6);

Salida ( middle, s2, 6, 3);

Salida (matriz 2, "matriz 2", 3, 4);

Salida (resultado, s1, 6, 4); /p>

Devuelve 0;

}

Plantilla & lttypename T1, typename T2

void inverse( t 1 * mat 1, T2* mat2, int a, int b){

int i, j;

for(I = 0;i<b;i++)

for(j = 0 ; j & lta; j++)

mat 2[j][I]= mat 1[I][j];

Devolver ;

}

Plantilla y nombre de tipo T1, nombre de tipo T2 >>p>

void multi(T1*mat1, T2*mat2, T2*resultado, int a, int b, int c){

int i, j, k;

for(I = 0;i<a;i++){

for(j = 0;j & ltc;j++){

Resultado[I][j]= 0;

for(k = 0;k & ltb;k++)

resultado[I][j]+= mat 1[I][k]* mat 2[k][j];

}

}

Regresar;

}

Plantilla y lttypename T & gt

salida nula (T*mat, char*s, int a, int b) {

int i,j ;

co

ut & lt& lts & lt& ltendl

for(I = 0;i<a;i++){

for(j = 0;j & ltb;j++)

cout & lt& ltsetw(6)& lt;& ltmat[I][j];

cout & lt& ltendl

}

Regresar

}