Buenas,
Estoy con el tema matrices y he llegado hacer una suma entre dos matrices, pero ahora me quedo estancando con el siguiente ejercicio de hacer una traspuesta y luego sumarla. A ver si alguien me puede echar una mano :P
3. Un programa nos pide los elementos de una matriz 3x3 y nos escribe la matriz traspuesta y la suma de las dos matrices.
#include <stdio.h>
#include <stdlib.h>
int main() {
int f,c,num;
int mat[3][3];
int result[3][3];
int traspuesta[3][3];
// matriz
for (f=0;f<3;f++){
for (c=0;c<3;c++){
printf("Escribe un numero para la matriz: (%d %d)",f
,c
); mat[f][c]=num;
}
}
// traspuesta
for (f=0;f<3;f++){
for (c=0;c<3;c++){
}
}
// resultado
for (f=0;f<3;f++){
for (c=0;c<3;c++){
result[f][c]=mat[f][c]+traspuesta[f][c];
}
}
// muestra la suma
for (f=0;f<3;f++){
for (c=0;c<3;c++){
}
}
return 0;
}
........... Un programa nos pide los elementos de una matriz 3x3 y nos escribe la matriz traspuesta y la suma de las dos matrices.
Sólo comentarte que te fijes en cómo se calcula la traspuesta.
Hay algunas correcciones menores, como en el scanf e inicializar la traspuesta con la original para luego cambiarla:
#include <stdio.h>
#include <stdlib.h>
int main() {
int f,c,temp1,temp2;
int mat[3][3];
int result[3][3];
int traspuesta[3][3];
// MATRIZ INICIAL
for (f=0;f<3;f++){
for (c=0;c<3;c++){
printf("Escribe un numero para la matriz: (%d %d)= ",f,c);
scanf("%d",&mat[f][c]);
traspuesta[f][c]=mat[f][c];
}
}
puts ("MATRIZ INICIAL\n");
for (f=0;f<3;f++){
for (c=0;c<3;c++) {
printf("%d ",mat[f][c]);
}puts("\n");
}puts("\n");
// TRASPUESTA
for (f=0;f<3;f++)
for (c=0;c<3 && c<f;c++) {
temp1=traspuesta[f][c];
temp2=traspuesta[c][f];
traspuesta[c][f]= temp1;
traspuesta[f][c]= temp2;
}
puts ("MATRIZ SIMETRICA O TRASPUESTA\n");
for (f=0;f<3;f++) {
for (c=0;c<3;c++) {
printf("%d ",traspuesta[f][c]);
}puts("\n");
}puts("\n");
// RESULTADO
for (f=0;f<3;f++){
for (c=0;c<3;c++){
result[f][c]=mat[f][c]+traspuesta[f][c];
}
}
// MUESTRA LA SUMA
for (f=0;f<3;f++){
printf("\n|");
for (c=0;c<3;c++){
printf(" %d ",result[f][c]);
}
printf("|");
}
system("PAUSE");
return 0;
}
Saluditos!:
Se agradece compañero.
Un saludo!