Un reto

Juan
31 de Mayo del 2004
Hola a todos. Necesito saber como se puede implementar un arreglo de números ingresandole el número de filas y columnas y q queden de la siguiente manera
ejemplo:
columnas: 5
filas: 4
1 2 3 4 5
14 15 16 17 6
13 20 19 18 7
12 11 10 9 8

Si se fijan la secuencia de números forman un espiral, me tiene q funcionar para cualquier valor que ingreso en las filas y columnas; y debe ser ejecutado en el DOS.
Si alguien me puede ayudar o tiene el código me lo podria pasar al correo, es urgente. Le estare muy agradecido...


jcalienes
31 de Mayo del 2004
que tal esta funcion:

private void fillData()
{
int rows = matriz[0].length;
int cols = matriz.length;
int trama = 0;
int ic = 0, ir = 0;
int dir = 1;
int i = 0;

while (i < (matriz[0].length*matriz.length))
{
matriz[ic][ir] = ++i;
if ((i-trama) % (rows+cols-1) == 0)
{
trama += rows+cols-1;
rows--; cols--;
dir = dir*-1;
}
if ((i-trama) < cols)
ic += dir;
else
ir += dir;
}
}