Programación General => Pascal => Mensaje iniciado por: pegui en Miércoles 2 de Julio de 2008, 20:31
Título: Buscar en un array
Publicado por: pegui en Miércoles 2 de Julio de 2008, 20:31
Me dan un fichero binario (.dat) con los datos correspondientes a unas imagenes. tImagenV=RECORD Cod_Ima:Integer; Precio:Real; Cod_Autor:1..30; Autor:String[20]; Cliente:String[20]; END;
tFich=File of tImagenV;
el fichero contiene 50 registros y solo hay 30 autores diferentes. primero los paso a un array como me dicen. pero luego me piden que le recorra y pase a otro array solo los 30 autores distintos que hay, y aqui empiezan mis problemas.
yo me he hecho esta declaración de tipos: PROGRAM Pintores; CONST Max=30; N=50; TYPE tImagenV=RECORD Cod_Ima:Integer; Precio:Real; Cod_Autor:1..30; Autor:String[20]; Cliente:String[20]; END; tNuevo=RECORD Cod_Autor:1..30; Autor:String[20]; Pinturas:Integer; Total:Real; END;
tFich=File of tImagenV; tArray=ARRAY[1..Max]OF tNuevo; tVector=ARRAY[1..N]OF tImagenV;
VAR F1:tFich; F2:Text; Nuevo:tNeuvo; Vector:tVector; ImagenV:tImagenV; salida:tArray; I:Integer;
Mi idea es recorrer el array con un for FOR I:=1 TO N DO. Pero como hago para que solo me pase los no repetidos??? Tambien me pide que pase a un fichero de texto el nombre del autor, el número de imagenes que vendio y el precio total. recorrer el array y pasarlo a un fichero de texto tb lo tengo hecho, pero como hago para almacenar esos datos en el array?? Por favor necesito ayuda!!! Muchas gracias
Título: Re: Buscar en un array
Publicado por: Enko en Sábado 5 de Julio de 2008, 04:54
Hola, mientras estas recorriendo el primer array con el for, antes de agregar un autor al segudno array, chequeas si contiene ya a este autor usando otro for, si no está lo agregas.