C/Visual C - Recorrer Matriz Diagonalmente

 
Vista:

Recorrer Matriz Diagonalmente

Publicado por LIU (1 intervención) el 17/08/2001 21:05:50
¿Como recorrer de forma diagonal con bucles for una matriz bidimensional de izquierda a derecha empezando por la esquina superior derecha hasta la esquina inferior izquierda?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Recorrer Matriz Diagonalmente

Publicado por Germán B. (27 intervenciones) el 18/08/2001 05:56:57
Los siguientes ciclos deberían funcionar, asumiendo que la matriz es cuadrada, contiene datos de tipo int, tiene MAXX+1 columnas y MAXY+1 filas. Cada diagonal va de "noroeste" a "sudeste" (así entendí que debía ser).
El primer ciclo recorre las diagonales que comienzan en la primera fila y terminan en la última columna. El segundo, las que comienzan en la primera columna y terminan en la última fila.

for(diag=MAXX; diag>=0; diag--) {
for(x=diag, y=0; x<=MAXX; x++, y++) printf("%d ", matriz[y][x]);
printf("\n");
}
for(diag=1; diag<=MAXY; diag++) {
for(x=0, y=diag; y<=MAXY; x++, y++) printf("%d ", matriz[y][x]);
printf("\n");
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Recorrer Matriz Diagonalmente

Publicado por Ayuda para modificar ese codigo (1 intervención) el 06/12/2012 20:48:25
Hola! Muchas gracias, me funciona muy bien tu codigo, pero me podrias ayudar a modificarlo para que haga exactamente lo mismo pero recorriendo el arreglo de derecha a izquierda, es decir, de "noreste a sudoeste", intente modificarlo yo pero no me ha funcionado! Muchas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar