Salve a tutti mi manca una porzione di codice importante per ultimare un esercizio.
Quello che ho scritto fin'ora è quello che compare di seguito mi manca solo una procedura che mi trasformi la lista in modo che all'inizio ci siano solo le celle di posto dispari e alla fine tutte quelle di posto pari.
program crealista;
type
punt=^ele;
ele=record
inf:string;
sucunt;
end;
function creaunt;
var
paus,punt;
x:string;
begin
writeln('dammi una stringa (digita spazio vuoto per fine lista)');
readln(x);
if x=' ' then p:=nil
else begin
new(p);
p^.inf:=x;
paus:=p;
while x<>' ' do begin
writeln('dammi un''altra stringa');
readln(x);
if x<> ' ' then begin
new(paus^.suc);
paus:=paus^.suc;
paus^.inf:=x;
end
else
paus^.suc:=nil;
end;
end;
crea:=p;
end;
procedure visualizza(punt);
begin
while p<>nil do begin
write(p^.inf);
write('-->');
p:=p^.suc;
end;
write('nil');
end;
procedure ordina(punt);
var
primount;
begin
primo:=crea;
visualizza(primo);
ordina(primo);
writeln;
writeln('Lista ottenuta mettendo gli elementi di celle dispari all''inizio e quelli di posto pari alla fine');
visualizza(primo);
readln;
end.
La procedura l'ho chiamata ordina.Qualcuno sa aiutarmi.Grazie