1. Отсортировать вещественный массив C(11) методом шейкер-сортировки по убыванию.
2. Имеется готовая программа, задание к ней:
Составить программу, предусматривающую создание в файлах массивов записей.
Структура записи: Фамилия абонента, номер телефона, тип заказа (городской, международный, время разговора). Определить абонента, время разговора которого наиболее по типу заказа.
Из её кода нужно получить две программы:
1) С односвязным списком
2) С двусвязным списком
Код самой программы:
program project1;
{$mode objfpc}{$H+}
uses crt;
type abonent = record
fam: string;
nomer: longint;
vremea: real;
end;
var a,maxG,maxM: abonent;
tip: string;
f: text;
name: string;
begin
writeln(Вводите информацию об абонентах в следующей форме:);
writeln(Фамилия абонента);
writeln(Тип заказа - городской/международный);
writeln(Номер абонента);
writeln(Время разговора);
writeln;
writeln(Не оставляйте пустых строчек);
writeln(В конце нажмите 2 раза);
writeln;
maxG.vremea:=0;
maxM.vremea:=0;
while true do
begin
readln(a.fam);
if a.fam = then break;
readln(tip);
readln(a.nomer);
readln(a.vremea);
if tip = городской then
begin
if a.vremea > maxG.vremea then maxG:=a;
end
else
if a.vremea > maxM.vremea then maxM:=a;
end;
write(Имя файла для вывода результата: ); readln(name);
assign(f,name); rewrite(f);
if maxG.vremea > 0 then writeln(f,Самый длинный разговор: ,
maxG.fam,, ,maxG.nomer, - ,maxG.vremea:5:2)
else writeln(f,Городский разговоров небыло);
if maxM.vremea > 0 then writeln(f,Самый длинный междугородний разговор: ,
maxM.fam,, ,maxM.nomer, - ,maxM.vremea:5:2)
else writeln(f,Междугородних разговоров небыло);
close(f);
readln;
end.