Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Другие языки _ Программа обрабатывающая список

Автор: Alika 1.12.2012 15:46

Надо разработать программу, обрабатывающую список. Вот данные исходного файла: сведения о работниках; организовать следующую прцедуру: создать упорядоченный список, организовав процедуру всавки 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;

Автор: мисс_граффити 2.12.2012 2:06

Alika, а что насчет распечатки списка (просмотра того, что получилось)?
Насколько я понимаю, insertion должна вставлять запись таким образом, что список получается уже упорядоченным. Только с Вашими вольно сделанными отступами и глобальными переменными читается она очень плохо...

Автор: Alika 2.12.2012 11:05

Цитата(мисс_граффити @ 2.12.2012 3:06) *

Alika, а что насчет распечатки списка (просмотра того, что получилось)?
Насколько я понимаю, insertion должна вставлять запись таким образом, что список получается уже упорядоченным. Только с Вашими вольно сделанными отступами и глобальными переменными читается она очень плохо...

Оказывается нет, эта процедура только создает сам список, но не упорядочевает. Для этого надо что-то дополнительно, но я не знаю что.