Pascal/Turbo Pascal - Ayuda con tablas!!!

 
Vista:

Ayuda con tablas!!!

Publicado por Alba (1 intervención) el 18/07/2006 09:51:06
Hola!!!
Estoy intentando hacer un programa para una practica de la uni y tengo algun problemilla. Quiero saber como puedo poner que una tabla vaya de 1 hasta un valor que yo más tarde pueda contar. Pe:

Var
Tabla:= array [1..n,1..m] of integer;
n,m:=integer;
begin
n:=5
m:=3
[...]
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:Ayuda con tablas!!!

Publicado por Carlos Guimaraenz (265 intervenciones) el 19/07/2006 07:05:27
Hola Alba... lo que se me ocurre para este problema es trabajar con listas enlazadas... espero que ya conozcas la forma de trabajar de éstas, sino te será un poco más complicado... una posible implementación de listas sería la siguiente:

Nota: uso guiones para mostrar la indentación.

TYPE
----Fila = ^NodoFila;
----Columna = ^NodoColumna;
----NodoFila = RECORD
--------Dato : string; {sea el dato que sea, incluso otro registro}
--------Col : Columna; {enganche con las columnas}
--------Sig : Fila; {enganche con su siguiente}
----END;
----NodoColumna = RECORD
--------Dato : string;
--------Sig : Columna;
----END;

La explicación:
Hay una fila y tantas columnas como elementos tenga la lista FILA; las columnas a su vez pueden tener diferente cantidad de elementos unas con otras, por ej:

FILA > A B C D E F G H
--------- I J K M N O
--------- P Q R
--------- S T
--------- U V
--------- W

La manera de manejarte sería primero buscando la columna moviéndote a través de la lista FILA, y al encontrarla "bajar" por la lista COLUMNA correspondiente hasta encontrar la posición, siempre teniendo en cuenta que no se termine ninguna de las dos listas.
Puede implementarse una lista doble o incluso una lista circular en base a las necesidades propias del problema.

Cualquier duda lo consultas aquí, o a cualquiera de los participantes en el foro, si tienen alguna otra alternativa espero que la publiquen también.

Hasta luego y mucha suerte.
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

EJEMPLO CORRECTO

Publicado por Carlos Guimaraenz (265 intervenciones) el 19/07/2006 07:20:37
Vuelvo a postear debido a que los espacios no se ven en la respuesta anterior... así que muestro el ejemplo con guiones para que se vea claro:

FILA > A--B--C--D--E--F--G--H--->(NIL)
--------- I---J--K--M------N------O
--------- P-----Q----------R
--------- S-----T-----------U
--------- V------------------W
--------- X

Espero que ahora sí se vea la noción de TABLA que quiero expresar... tengan en cuenta que los guiones no son más que "espacios"...
Hasta pronto!
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:Ayuda con tablas!!!

Publicado por Diego Romero (996 intervenciones) el 19/07/2006 08:04:27
No es posible hacer eso con Turbo Pascal. Los arrays son estáticos, deben tener dimensiones fijas antes de proceder con el programa. La solución es usar listas dinámicas.
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