Pascal/Turbo Pascal - maxint

 
Vista:

maxint

Publicado por sergio (2 intervenciones) el 16/01/2007 23:48:34
Tengo un problemilla, me dice structure too large en la siguiente sentencia:
type
.....

vectorP: array[1..maxint] of PReg
Cuando en lugar de poner maxint pongo un numero pequeño no me da ningun problema y me ejecuta bien la practica.
El numero de registros(PReg) debe ser ilimitado segun las especificaciones de entrada de la práctica. ¿Como puedo resolverlo? 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:maxint

Publicado por Carlos Guimaraenz (265 intervenciones) el 17/01/2007 01:38:19
Hola Sergio! Aún cuando MaxInt es un número grande, no es ilimitado, y de hecho la memoria tampoco es ilimitada... pero quizá a lo que se refirieron en la práctica, es a que debas utilizar listas enlazadas (si es que las conoces).
Un abrazo!
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:maxint

Publicado por sergio (2 intervenciones) el 17/01/2007 07:53:46
Si se puede referir a listas enlazadas pero no tengo ni idea de ellas, puedes darme algun consejo, o decirme como seria la estructura. 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

RE:maxint

Publicado por Diego Romero (996 intervenciones) el 17/01/2007 14:17:46
Pues me parece obvio. No pones la declaración del registro PReg pero voy a suponer que mide unos 30 bytes en memoria. Maxint devuelve el valor 32767. Entonces el vector vectorP tendrá 32767 posiciones, cada una de 30 bytes, o sea que 32767*30=983010 bytes en total, que son 960 KB de memoria. Esto agota la memoria en el modelo MS-DOS en la que solo cuentas con 640 KB para almacenar datos y programa. Esto si trabajas con Turbo Pascal. Si estás usando un compilador de 32 bits, tal como Free Pascal, no sería un problema pero es *absolutamente ineficiente*.

Deberías pedir que te especifiquen qué quieren decir con "ilimitado". Como dice Carlos, nada en computación es "ilimitado", por mucha memoria que tengas en la computadora este siempre es finita.

Me parece, y estoy especulando, es que te han insinuado que uses una estructura de lista dinámica para almacenar lo que sea que tengas que almacenar.
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