Escribir programas de suma, resta, multiplicación y división de matrices en lenguaje C
# 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++) p>
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++){ p>
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 p>
}