Tengo que hacer un programa que me lea de un archivo de texto y guarde cada linea en un array dinamico.
Este es mi código:
Program lee_array;
Uses crt;
TYPE
vector= array of integer;
Var
x:vector;
y:vector;
fichero:text;
numero_elementos_x,numero_elementos_y,i:integer;
Function numero_valores_linea(var fich: text):integer;
(*Funcion que devuelve el numero de elementos de una linea*)
Var
contador:integer;
aux:integer;
begin
contador:=0;
while not eoln(fich) do
begin
read(fich,aux); //sino se pone na no lee hay k asignarle var aunk no la guardemos
contador:=contador+1;
end;
readln(fich); //indica el salto de linea
numero_valores_linea :=contador;
end;
Procedure LeeValores(var fich:text; v1:vector;v2:vector);
var
contador:integer;
begin
contador:=0;
while not eoln(fich) do
begin
read(fich,v1[contador],v2[contador]);
contador:=contador+1;
end;
readln(fich);
end;
Begin
clrscr;
assign(fichero,'valores.txt');
reset(fichero);
//cuenta el numero de elementos del array x
numero_elementos_x:=numero_valores_linea(fichero);
//cuenta el numero de elementos del array y
numero_elementos_y:=numero_valores_linea(fichero);
SetLength(x,numero_elementos_x);
SetLength(y,numero_elementos_y);
LeeValores(fichero,x,y);
close(fichero);
writeln('El array x tiene ',numero_elementos_x,' elementos');
writeln('El array y tiene ',numero_elementos_y,' elementos');
For i:=low(x) to high(x) do
write(x);
writeln;
For i:=low(y) to high(y) do
writeln(y);
Repeat until keypressed;
End.
Cuando hago el bucle for para que me muestre en pantalla el contenido de los array me sale todo cero.
Lo que esta mal es el procedimiento LeeValores ¿Podrían ayudarme?
Gracias