El siguiente ejemplo calcula la matriz traspuesta de una matriz de enteros. La matriz tendrá unas dimensiones máximas según la constante MAX.
Ejemplo de una Matriz traspuesta.
#include <stdio.h> #define MAX 20 int main() { int filas, columnas, i, j; int matriz[MAX][MAX], matrizT[MAX][MAX];
/* Lectura matriz */ printf( "Num. filas, Num. columnas: " ); scanf( "%d %d", &filas, &columnas ); printf ("Introducir matriz por filas:" ); for (i= 0; i< filas; i++) for (j= 0; j< columnas; j++) { printf( "\nmatriz[%d][%d] = ", i, j ); scanf( "%d", &matriz[i][j] ); }
/* Traspuesta */ for (i= 0; i< filas; i++) for (j= 0; j< columnas; j++) matrizT[j][i] = matriz[i][j];
/* Escritura del resultado */ for (i= 0; i< filas; i++) for (j= 0; j< columnas; j++) printf( "\nmatrizT[%d][%d] = %d ",i, j, matrizT[i][j] ); return 0; }