Помощь - Поиск - Пользователи - Календарь
Полная версия: Задача со списками.
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Rom1k
Данные о сотрудниках содержат фамилию и оклад.
Требуется занести данные с клавиатуры в упорядоченный по фамилиям список записей и вывести список для премирования на экран.Премия = 3 оклада.

Вывести-то вывел,а как их упорядочить,я совсем не понимаю,помогите,заранее благодарен!!!

program l1;
type
PData = ^TData;{tip ukaz na zapis'}
TData = record
fio:string[20];{imya}
Oklad,Prem:longint;{oklad}
next:PData;{ukaz na sled el spiska}
end;
Var
Head:PData;{ukaz na golovu}
Tail:Pdata;{ukaz na xvost}
P,m,d:PData;{ukaz na o4erednoi el spiska}
I,N:integer;{4islo slugawix}
flag:boolean;
Begin
Write('Vvedite ko-vo sotr ');
ReadLn(N);
head:=nil;
Tail:=nil;
For i:=1 to n do
begin
new(p);
write('Vvedite familiju ',i,' sotr ');
ReadLn(p^.fio);
Write('Vvedite oklad ',i,' sotr ');
ReadLn(p^.oklad);
if Head = nil then
Head:=p;
if Tail<>nil then
Tail^.next:=p;
Tail:=p;
p^.next:=nil;
n:=n+1;
end;
WriteLn('Rezultat: ');
p:=head;
while p<>nil do
begin
p^.prem:=p^.oklad*3;
WriteLn(i,' ',p^.fio,' ',p^.oklad,' ',p^.prem);
p:=p^.next;
end;
End.

volvo
Посмотреть в поиске, как делается сортировка списков - нельзя?

Вот, например, работающий алгоритм: сортировка списка простыми вставками
Rom1k
большое спасибо.Буду сидеть разбираться,как работает!!!!!! wub.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.