ARGENTOP2P

Soporte, Ayuda y Consultas => Programación en General => Mensaje publicado por: agrup en Septiembre 29, 2008, 23:30:41

Título: pascal
Publicado por: agrup en Septiembre 29, 2008, 23:30:41
la pregunta es simple, stoy arranando en pascal y queria saber ai se puede formar a variable con otras variables por ej
matriz : array[1..a,1..b] of real
es algo asi
la idea es que la matriz sea determinada por el usuario
Título: Re: pascal
Publicado por: Predicador en Septiembre 30, 2008, 02:59:22
Hola,
La respuesta depende mas del compilador que uses.
* En Borland pascal no es posible, ya que solo se pueden  definir arreglos estaticos, esto es, el tamaño debe estar definido en tiempo de compilacion. Este problema lo podes solucionar quizas imlpementando tus propias unidades, quizas una lista enlazada (aunque la subindicacion se vuelve un problema ahi).
* En Freepascal o Delphi si se pueden definir arreglos dinamicos, estos es, que podes definir el tamaño en tiempo de ejecucion.

var
  // Se define el arreglo dinamico
  miniArreglo : Array of Byte;

begin
  // Se define en tiempo de ejecucion el tamaño
  SetLength(miniArreglo, 5);
  [sigue mas codigo aca]

Baii

EDIT: para matrices (array of array) se usa de manera similar:
var
  miniMatriz : Array of Array of Byte;
begin
  // Se define en tiempo de ejecucion el tamaño
  SetLength(miniMatriz, 5, 3);

Para una matriz de 5 por 3, eso si, tene en cuanta que los arreglso dinamicos son subindicados a partir de 0; por ende este seria como [0..4, 0..2].