Надо разработать программу, обрабатывающую список. Вот данные исходного файла: сведения о работниках; организовать следующую прцедуру: создать упорядоченный список, организовав процедуру всавки Insertion.
Процедуру Insertion организовала, а как упорядочить не знаю,помогите!!! Вот часть программы:
uses crt;
type
rabotniki=^spisok;
spisok=record
n:byte;
fio:string;
next:rabotniki;
end;
Var
e,adr,adr1,adr2:rabotniki;
Procedure insertion;
begin
adr1:=e;
adr2:=e^.next;
while (adr^.fio>adr2^.fio) and (adr1^.next<>nil) do
begin
adr1:=adr2;
adr2:=adr1^.next;
end;
if adr^.fio<=e^.fio then
begin
adr^.next:=e;
e:=adr;
end;
if (adr^.fio>adr1^.fio) and (adr^.fio<=adr2^.fio) then
begin
adr1^.next:=adr;
adr^.next:=adr2;
end;
if adr1^.fio>=adr2^.fio then
begin
adr1^.next:=adr;
adr^.next:=nil;
end;
end;
Procedure sp;
Var
f:text;
begin
assign (f,'f.txt');
reset (f);
new (adr);
readln (f,adr^.n);
readln (f,adr^.fio);
adr^.next:=nil;
e:=adr;
while not(eof(f)) do
begin
new (adr);
readln (f,adr^.n);
readln(f,adr^.fio);
insertion;
end;
close(f);
end;
Alika, а что насчет распечатки списка (просмотра того, что получилось)?
Насколько я понимаю, insertion должна вставлять запись таким образом, что список получается уже упорядоченным. Только с Вашими вольно сделанными отступами и глобальными переменными читается она очень плохо...