Escribir un programa en lenguaje C (agregar dos matrices)
El código para escribir un programa en lenguaje C (sumando dos matrices) es el siguiente:
/**
MatrixAddition.c
Implementación Agregar dos matrices
*/
#include
const int COLS=3;
void printMatirx (int *pArray,int filas,int cols);
void printMatirx2(int (*pArray)[COLS],int filas);
int main()
{
int A[3][4]={{15,10,9,12},
{18,14,8,7},
p>{16,13,6,11}};
printf("Matriz A=\n");
printMatirx(A,3, 4);
int B[3][4]={{4,3,5,2},
{0,9,6,1},
{5,7,2,6}};
printf("Matriz B=\n");
printMatirx(B,3,4);
int C[3][4];?
int i,j;
//Suma de matrices: las dos matrices deben tener el mismo número de filas y columnas. Suma,
//Cada elemento de la matriz de suma es la suma de los elementos correspondientes de las dos matrices
printf("Matriz A+Matriz B=\ n");
p>for(i=0;i<3;i++)//línea de control
{
for(j=0; j<4;j++) p>
{
C[i][j]=A[i][j]+B[i][j];
//printf("% 3d",C[i][j]);//Resultados de salida
}
// printf("\n");
}
int (*p)[COLS]=C;
printMatirx2(p,3);
/*El resultado debería ser:
19 13 14 14
18 23 14
21 20
*/
printf("Matriz C -Matriz A=\n");
for(i=0;i<3;i++)//Fila de control
{
for(j =0;j<4;j++)
{
printf("%3d",C[i][j]-A[ i][j]);// Resultados de salida
}
printf("\n");
}
/ *El resultado debería ser:
4? p>
*/
//Multiplicación de matrices:
int D[3][4];
printf("Matriz D:\n ");
for(i=0;i<3;i++)//línea de control
{
for(j=0;j<4 ;j++)
{
D[i][j]=1;
printf("%d\t", D[i][j ]);//resultado de salida p>
}
printf("\n");
}
int mul; p>
printf("Matriz Multiplica el número D por: ");
scanf("%d"
,&mul);
printf("Número de matriz D multiplicado por %d=\n",mul);
for(i=0;i<3;i++)// Línea de control
{
for(j=0;j<4;j++)
{
D[i][j ]=D[i][j]*mul;
printf("%d\t", D[i][j]);//Resultado de salida
}
printf("\n");
}
return 0;
}
Información ampliada:
Función de suma y resta de matrices en lenguaje C:
void Matrix_a(double **a_matrix, const double **b_matrix, const double **c_matrix,int krow, int kline, int ktrl )?
///////////////////////////////////////// // /////////////////////////////////////?
// ? a_matrix=b_matrix+ c_matrix?
// ? krow ? :número de filas
// ? kline ?:número de columnas
// : mayor que 0: suma no mayor que 0: resta?
////////////////////////////// ///////// ///////////////////////////////////////?
{ p>
int k, k2;
for (k = 0; k < krow; k++)
{
for(k2 = 0; k2 < kline; k2++)
{
a_matrix[k][k2] = b_matrix[k] [k2]
+ ((ktrl > 0) ? c_matrix[k][k2] : -c_matrix[k][k2]);
}
}
}
Materiales de referencia:
Enciclopedia Baidu-Lenguaje C