Java - numeros en diagonal

 
Vista:

numeros en diagonal

Publicado por Elisa (24 intervenciones) el 28/11/2010 00:07:42
Hola a todos, estoy empezando a ver matrices en la u y no se como modificar la sentencias de if para que me imprima

1 2 6 7
3 5 8 13
4 9 12 14
10 11 15 16

este es mi codigo:

public class DiagonalCadena {

public static void main(String[] args) {

int[][] M = new int[4][4];
int i = 0;
int j = 0;
int DI = 0;
//Delta I possicion de i
int DJ = 1;
//delta de J b

for (int k = 1; k <= M.length * M[0].length; ++k) {
//contador es k
M[i][j] = k;
// la matriz es igusl s k
i += DI;
j += DJ;

if (j <= M[0].length ) {
++j;
}
if (i == M.length) {
--i;

}
}
for (int[] fila : M) {
for (int V : fila) {
System.out.printf("%4d" , V);
}
System.out.println();
}
}
}

gracias
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:numeros en diagonal

Publicado por Javier (41 intervenciones) el 28/11/2010 03:59:02
public class DiagonalCadena {

public static void main(String[] args) {

int[][] M = new int[4][4];
int num = 1;
boolean sentido=false;//
for (int i = 0; i < 8; i++) {

for (int j = 0; j <= i; j++) {
if (j < 4 && i - j < 4) {
if(sentido)
{
M[j][i - j] = num;
}
else
{
M[i - j][j] = num;
}
num++;
}
}
sentido=!sentido;
}
for (int[] fila : M) {
for (int V : fila) {
System.out.printf("%4d", V);
}
System.out.println();
}

}
}
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