Ordenar listas antes de pasar a fichero
Publicado por Dani (2 intervenciones) el 19/02/2010 16:45:56
Os cuento mi problema,tengo este trozo de codigo:
begin
fich_entrada:= paramstr(2);
assign (fich,fich_entrada);
rewrite (fich);
p_jug:=cab_jugadores;
while (p_jug <> nil) do begin
if (p_jug^.cue < 0) then
begin
cue:=Formato_numero_real(p_jug^.cue);
cadena:=concat(p_jug^.dni,' ',p_jug^.nombre,',',p_jug^.pr_apell,',',p_jug^.se_apell,' ',cue);
writeln (fich,cadena);
p_jug:=p_jug^.sig;
end
else p_jug:=p_jug^.sig;
end;
close(fich);
end; { buscar_jugadores }
Pues modificandolo lo menos posible,tengo que hacer me ordene el fichero que he creado de la siguiente forma:
1º el de mayor saldo negativo al comienzo.
2º si varios tienes el mismo saldo negativo,tengo que poner 1º el del dni más bajo.
Nota: tenemos un archivo con los jugadores que tenemos,y lo pasamos a la lista: p_jug que utilizo ahí,y solo tengo que quedarme con los que tienen saldo negativo y ordenarlos de la forma que dije.
A mi se me ocurrió o bien por cadenas y ficheros,o bien utilizando punteros auxiliares.El problema es que tengo que modificarlo lo menos posible,y no sé cual utilizar.Muchas gracias
begin
fich_entrada:= paramstr(2);
assign (fich,fich_entrada);
rewrite (fich);
p_jug:=cab_jugadores;
while (p_jug <> nil) do begin
if (p_jug^.cue < 0) then
begin
cue:=Formato_numero_real(p_jug^.cue);
cadena:=concat(p_jug^.dni,' ',p_jug^.nombre,',',p_jug^.pr_apell,',',p_jug^.se_apell,' ',cue);
writeln (fich,cadena);
p_jug:=p_jug^.sig;
end
else p_jug:=p_jug^.sig;
end;
close(fich);
end; { buscar_jugadores }
Pues modificandolo lo menos posible,tengo que hacer me ordene el fichero que he creado de la siguiente forma:
1º el de mayor saldo negativo al comienzo.
2º si varios tienes el mismo saldo negativo,tengo que poner 1º el del dni más bajo.
Nota: tenemos un archivo con los jugadores que tenemos,y lo pasamos a la lista: p_jug que utilizo ahí,y solo tengo que quedarme con los que tienen saldo negativo y ordenarlos de la forma que dije.
A mi se me ocurrió o bien por cadenas y ficheros,o bien utilizando punteros auxiliares.El problema es que tengo que modificarlo lo menos posible,y no sé cual utilizar.Muchas gracias
Valora esta pregunta


0