
Ayuda con procedimiento usando Array con tope
Publicado por Asaroth (1 intervención) el 09/11/2014 11:30:36
Hola, estoy terminando un proyecto en Freepascal y agradecería que alguien me pudiera dar una mano para poder terminarlo pues me queda el último punto para poder lograrlo.
Si yo tengo las siguientes declaraciones:
http://fotos.subefotos.com/9f82a2e5c652ce64624fb1a856074cb8o.jpg
y quisiera implementar en base a eso el siguiente procedimiento:
http://fotos.subefotos.com/10168984ca574e2d105b98515332b262o.jpg
¿cómo podría hacerlo? ya intenté varias cosas pero no me sale, no se como implementar el array con tope, no me queda, intenté haciendo:
pero me da error 201 en tiempo de ejecución, que podría ser? alguien tiene una forma mejor de hacer esto?.
mi idea era, recorrer la matriz del tablero y, si hay una celda vacía, y si es que el tope no alcanza el tope maximo, agregarlo. El procedimiento debe retornar una lista con los i,j (fila y la columna respectivamente) donde se encuentra la celda vacia. Las unicas limitación es que no puedo alterar las declaraciones (primera foto) ni tampoco el cabezal del procedimiento y no puedo usar facilidades que no formen parte del estándar como uses, crlscr, gotoxy, crt, readkey, longint, string o break, etc. Agradecería alguna ayuda.
Saludos.
Si yo tengo las siguientes declaraciones:
http://fotos.subefotos.com/9f82a2e5c652ce64624fb1a856074cb8o.jpg
y quisiera implementar en base a eso el siguiente procedimiento:
http://fotos.subefotos.com/10168984ca574e2d105b98515332b262o.jpg
¿cómo podría hacerlo? ya intenté varias cosas pero no me sale, no se como implementar el array con tope, no me queda, intenté haciendo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
for i := 1 to MaxTablero do
for j := 1 to MaxTablero do
if Tablero[i,j].vacia = true then
begin
if (libres.tope) < MaxTope then
with libres do
begin
libres.tope := libres.tope +1;
libres.info[i].fila := i;
libres.info[i].columna:= j;
end;
end;
pero me da error 201 en tiempo de ejecución, que podría ser? alguien tiene una forma mejor de hacer esto?.
mi idea era, recorrer la matriz del tablero y, si hay una celda vacía, y si es que el tope no alcanza el tope maximo, agregarlo. El procedimiento debe retornar una lista con los i,j (fila y la columna respectivamente) donde se encuentra la celda vacia. Las unicas limitación es que no puedo alterar las declaraciones (primera foto) ni tampoco el cabezal del procedimiento y no puedo usar facilidades que no formen parte del estándar como uses, crlscr, gotoxy, crt, readkey, longint, string o break, etc. Agradecería alguna ayuda.
Saludos.
Valora esta pregunta


0