Помощь - Поиск - Пользователи - Календарь
Полная версия: Задача со списками.
Форум «Всё о Паскале» > 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
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.