Дана последовательность из строк с сообщениями: город, время вылета самолета, время в пути. Написать программу упорядочивания сообщений по времени в пути. Вывести исходные данные и результат обработки — Pascal(Паскаль)

uses crt;
const nmax=20;
{функция определения времени в пути(целое число)}
function Vremya(a:string):integer;
var i,p:byte;
    t,c:integer;
begin
for i:=1 to length(a) do
if a[i]=',' then p:=i;{найдем последнюю запятую}
val(copy(a,p+1,length(a)-p),t,c);{преобразуем последние символы в число}
Vremya:=t;{значение функции}
end;
var s:array[1..nmax] of string;
    s1,x:string;
    n,i,j:byte;
begin
clrscr;
repeat
write('Количество строк до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Введите ',n,' строк вида город,время вылета,время в пути:');
{город и время вылета хоть что, а время-целое число}
for i:=1 to n do
readln(s[i]);
writeln;
for i:=1 to n-1 do
for j:=i+1 to n do
if Vremya(s[i])>Vremya(s[j]) then
 begin
  x:=s[i];
  s[i]:=s[j];{сортируем по возрастанию времени}
  s[j]:=x;
 end;
writeln('По возрастанию времени в пути:');
for i:=1 to n do
writeln(s[i]);
readln
end.

Leave a Comment

70 − 64 =