SoloCodigo

Programación General => Pascal => Mensaje iniciado por: Cobo3 en Martes 18 de Enero de 2011, 13:04

Título: Problema con procedures
Publicado por: Cobo3 en Martes 18 de Enero de 2011, 13:04
Buenas!! Estoy empezando a usar Lazarus, programando en pascal, y me he encontrado con un pequeño problema que no se resolver. No es nada dificil, seguro que una tonteria... Os dejo el codigo.

Código: Pascal
  1. const max=5;
  2.   type tabla=array[1..max] of integer;
  3.   procedure LTabla(var mit:tabla);
  4.             var i:integer;
  5.             begin
  6.             for i:=1 to max do
  7.                 begin
  8.                 write('Introduce el valor de la resistencia ',i,' : ');
  9.                 readln(mit[i])
  10.                 end
  11.   end;
  12.  
  13. var t:tabla;
  14.       maxim,i:integer;
  15.  
  16. begin
  17. LTabla(t);
  18. maxim:=0;
  19. for i:=1 to maxim do
  20. if t[i]>maxim then
  21.        maxim:=t[i];
  22. writeln('La mayor de las resistencias es la de ',maxim,'.');
  23. readln
  24. end.  
  25.  
  26.  

La cuestion es que, una vez acaba el procedure, los valores de mit no se guardan en t y el maximo siempre resulta 0. He probado poniendo "var" delante de mit pero tampoco funciona.
Alguna ayuda?
Título: Re: Problema con procedures
Publicado por: Xaos en Martes 18 de Enero de 2011, 17:05
El problema, creo que está en el cuerpo principal del programa.
Al inicializar la variable maxim a 0 y posteriormente hacer el for de 1 a 0, no te hace ningun paso.
No será que querias poner FOR i:=1 TO max do?

Saludos!
Título: Re: Problema con procedures
Publicado por: Cobo3 en Martes 18 de Enero de 2011, 18:51
Sabia yo que tenia que ser algo absurdo.. jaja!
Vaya, gracias Xaos.