Pascal/Turbo Pascal - Llenar un array con datos de un archivo

 
Vista:

Llenar un array con datos de un archivo

Publicado por Alexis (3 intervenciones) el 09/10/2005 21:26:08
Lo que necesito es lo siguiente: Tengo un archivo de texto que contiene lo siguiente:

85456,4,0,0,A,A,8
87987,2,0,7,A,A,9
75647,4,7,0,A,I,10
78904,8,0,0,A,A,2

Ahora lo que necesito es pasar todo esto a una matriz y nose porque no me lo carga... mi codigo es el siguiente:

Program......

Type
TNotas:Array[1..4,1..17] of String [1];
Var
Notas:Tnotas;
Archivo:Text;

Procedure Cargar (Var Archivo:text; var Notas:TNotas)

Begin
Assign (Archivo,C:.....)
Reset (Archivo
I:=1 (fila de la matriz)
j:=1 (Columna de la matriz)

While eof(archivo) do
If J<=17 then
read(Archivo,Notas[i,j]);
j:=j+1; (Sumo una columna)
Else
i:=i+1; (sumo una fila)
J:=1; (Inicio las columna en 1 de nuevo)
End;
End;
Close(ARchivo)
End: (cierro procedure)
Begin (p.p)
Cargar(Archivo,Notas);
End.

El compilador no me tira error, cuando lo corro tampoco, pero dsps agrego una linea para que me muestre una posicion de la matriz y no me muestra nada... osea no hay nada... Que puede ser???, disculpen la molestia, soy novato en esto!!.
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:Llenar un array con datos de un archivo

Publicado por Carlos Guimaraenz (265 intervenciones) el 10/10/2005 03:34:11
Hola Alexis! lo que salta a simple vista es que en el WHILE, la condición que has puesto es:

while EOF(archivo) do
begin
...
...
end;

cuando esta debería ser

while NOT EOF(archivo) do
begin
...
...
end;

Resulta que en tu código indica que realice las acciones cuando se esté en el final del archivo, condición que es falsa excepto que el archivo esté vacío... por lo tanto el while NOT EOF(archivo) va a realizar las acciones mientras no se llegue al final del archivo. Otra cosa a tener en cuenta es que cuando usas la función ASSIGN(archivo, 'C:\algo.txt'), la ruta de acceso del archivo debe estar entre comillas simples. No tengo mucho tiempo para revisar todo el código en profundidad, pero si sigue habiendo problemas avisame. Un abrazo y éxitos!
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