#include <stdio.h>
int traspuesta(int m[3][3], int i, int j, int f, int c);
void main(){
int mat[3][3]={3,6,2,3,2,3,7,5,3};
int i, j, f,c,s;
i=0;
j=0;
s=0;
f=3;
c=3;
s=traspuesta(mat,0,0,3,3);
}
int traspuesta(int m[3][3], int i, int j, int f, int c){
if (i<f && j<c){ // estamos dentro de la fila i y vamos traspuestando columnas j=j+1 hasta j==c
if (j==0) printf("%d",m[j][i]);
if (j==1) printf("%d",m[j][i]);
if (j==2) printf("%d\n",m[j][i]);
traspuesta(m, i, j+1, f, c);
}
else if (i<f && j==c){ // j==c -->hemos llegado al final de una fila --> fila+1 y reseteamos j=0
traspuesta(m, i+1, 0, f, c);
}
else if (i==f && j==0) { // hemos traspuestado todas las filas y columnas i==f
return;
}
}
Recursión: Matriz traspuesta
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario