Hola a todos. Ya se que éste es un tema tratado con anterioridad en el foro, pero he mirado todos los post anteriores y no me entero de nada. Supongo que debe ser porque aún no sé utilizar correctamente funciones y procedimientos (se supone que debo hacer el ejercicio sin usarlos). El tema es que mi código no hace nada, creo que el problema está en la declaración del array que guarda la matriz.
El ejercicio dice así: Escribir un algoritmo que lea por teclado una matriz cuadrada de tamano 'n' y muestre por pantalla su traspuesta.
Mi código es el siguiente:
#include <stdio.h>
#include <stdlib.h>
/*Algoritmo -> Traspuesta de una matriz*/
int main (void){
//DECLARACION DE VARIABLES
int m; //el tamaño de la matriz
int matriz[m][m]; //la matriz cuadrada
int fila, columna; //contadores de la lectura de la matriz origen
int i, j; //contadores de la traspuesta
int aux; //intermedia de la traspuesta
int a, b; //contadores del resultado
/*Leer variables*/
printf("Inserte tamaño de la matriz cuadrada: ");
scanf("%i", &matriz[m][m]);
//OPERACIONES
/*Escribir la matriz origen*/
for(fila=0; fila<=m-1; fila++){
for(columna=0; columna<=m-1; columna++){
printf("Escriba valor en la posicion (%i,%i): ", fila, columna);
scanf("%i", &matriz[fila][columna]);
}
}
/*Traspuesta de la matriz origen (guardada en el mismo array)*/
for(i=0; i<=m-1; i++){
for(j=0; j<=m-1; j++){
aux = matriz
[j];
matriz[j] = matriz[j];
matriz[j] = aux;
}
}
//RESULTADOS
/*Mostrar la traspuesta*/
for(a=0; a<=m-1; a++){
for(b=0; b<=m-1; b++){
printf("%2i", matriz[a]);
}
printf("n");
}
return 1;
}
Aver si me orientais un poco. Gracias a todos!
Un saludo desde Granada!