SoloCodigo

Programación General => Pascal => Mensaje iniciado por: gui2485 en Domingo 1 de Octubre de 2006, 15:23

Título: Arrays De Tamaño Indefinido En Pascal...
Publicado por: gui2485 en Domingo 1 de Octubre de 2006, 15:23
Hola.... tengo que hacer algunos ejercicios y lamentablente tienen que ser en pascal...

 No digo que me lo hagan... pero para mi que se necesita declarar un array de la dimension que el usuario quiera... en C++ yo hago una funcion asi

Citar
int pepe(int n:int)
int[n]
{}

 y va de 10 pero en pascal no se puede

Citar
procedure guillermo(n:integer);

var arreglo:array[1.. n]of integer;
    i:integer;


si yo en vez de [1.. n] pongo [1..100] entra re bien...

11 / 24 p4ej02.pas
 Error: Can't evaluate constant expression
23 / 19 p4ej02.pas
 Error: Type mismatch


 Bue lo que necesitaria es que alguien me diga como puedo hacer eso que necesito, o sea declarar arrays de dimension n, o sea una dimension q inserte el usuario... :ph34r:
Título: Re: Arrays De Tamaño Indefinido En Pascal...
Publicado por: Enko en Domingo 1 de Octubre de 2006, 16:28
Segun recuerdo, Turbo Pascal tenía  los "Arrays Abiertos" pero no logro hacerlos andar.

Te conviene usar Free Pascal, este tiene los arrays dinamicos y el entorno es similar:
Código: Text
  1.  
  2. var
  3.    open_array: array of integer;
  4. begin
  5.    //se pone el tamaño del array en 10 elementos
  6.    SetLength(open_array, 10);
  7.    for i:=0 to 9 do
  8.      open_array[i] := i;
  9.  
  10.  
Turbo Pascal, como que es una cosa vieja de los 80's.
Prueba y descarga el Free Pascal par DOS, vas a ver que el entorno es casi idéntico, y como compilador es mejor.
Título: Re: Arrays De Tamaño Indefinido En Pascal...
Publicado por: gui2485 en Domingo 1 de Octubre de 2006, 17:59
Pero no puedo.... quieren sacarnos la cabeza jaja y que nos arreglemos con las herramientas que tenemos jajaa y que avancemos de esa forma jjaa...  :comp:  :devil:
Título: Re: Arrays De Tamaño Indefinido En Pascal...
Publicado por: Enko en Lunes 2 de Octubre de 2006, 14:18
Cita de: "gui2485"
P quieren sacarnos la cabeza jaja y que nos arreglemos con las herramientas que tenemos
Turbo Pascal, hasta donde sé, NO ES GRATUITO, salgo las versiones anteriores a 5.5. Entraria en lo que se llama abondonware. (software abandonado)
El free pascal si es gratuito, y mucho mejor.

Igualmente, para lo que necesitas, intenta usar punteros:
http://ar.geocities.com/nrs_arg/pascalmania/t_varptr.htm (http://ar.geocities.com/nrs_arg/pascalmania/t_varptr.htm)

Lo malo es que recuerdo que en TP7 se podian usar arrays abiertos, pero no recurdo como se hace ni tampoco encuentro info :(
Si mal no recuerdo, habia que activar esa opcion en el compilador.