Помощь - Поиск - Пользователи - Календарь
Полная версия: Программа обрабатывающая список
Форум «Всё о Паскале» > Delphi, Assembler и другие языки. > Другие языки
Alika
Надо разработать программу, обрабатывающую список. Вот данные исходного файла: сведения о работниках; организовать следующую прцедуру: создать упорядоченный список, организовав процедуру всавки 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 должна вставлять запись таким образом, что список получается уже упорядоченным. Только с Вашими вольно сделанными отступами и глобальными переменными читается она очень плохо...
Alika
Цитата(мисс_граффити @ 2.12.2012 3:06) *

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

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