Pascal Урок 17 Задача 5

Pascal Урок 17 Задача 5

Пользователь вводит в консоль строки вида (имя + произвольное число пробелов + балл):
Вася 485
Коля 555
Юра 61
..........
....
end // признак завершения ввода
(пока не введёт строку end) -- где слева указаны имена участников, а справа -- число баллов.
Используя массив строк и массив целых чисел (пусть оба массива будут максимальной длины =3) считайте отдельно имена и баллы и определите победителя, выведя его имя и полученный им балл.

program U15Z5;
type
  a=array[1..3] of integer;
  b=array[1..3] of string;
var
  t:b;
  l:a;
  i,d,f,n,max: integer;
  w,k,s:string;
begin
  d:=1;
  while (s<>'end') do
  begin
    readln(s);
    for i:= 1 to length(s) do
    begin
      if (s[i]>='0')and(s[i]<='9') then
      begin
        w:=w+s[i];
        val(w,f);
        l[d]:=f;
      end
      else if (s[i]<>' ') then
      begin
        k:=k+s[i];
        t[d]:=k;
      end;
    end;
    d:=d+1;
    w:='';
    k:='';
end;
  for d:= low(l) to high(l) do
  begin
    if l[d] > max then
    begin
      max:=l[d];
      inc(n);
    end;
  end;
  d:=n;
    writeln('Pobeditel: ',t[d]);
    writeln('S kolichestvom ballov: ',max);
    readln();
end.
                              

program U15Z5;
type
  a=array[1..3] of integer;
  b=array[1..3] of string;
var
  t:b;
  l:a;
  i,d,f,n,max: integer;
  w,k,s:string;
begin
  d:=1;
  while (s<>'end') do
  begin
    readln(s);
    for i:= 1 to length(s) do
    begin
      if (s[i]>='0')and(s[i]<='9') then
      begin
        w:=w+s[i];
        val(w,f);
        l[d]:=f;
      end
      else if (s[i]<>' ') then
      begin
        k:=k+s[i];
        t[d]:=k;
      end;
    end;
    d:=d+1;
    w:='';
    k:='';
end;
  for d:= low(l) to high(l) do
  begin
    if l[d] > max then
    begin
      max:=l[d];
      n:=d;
    end;
  end;
  d:=n;
    writeln('Pobeditel: ',t[d]);
    writeln('S kolichestvom ballov: ',max);
    readln();
end.

program U15Z5;
type
  a=array[1..3] of integer;
  b=array[1..3] of string;
var
  t:b;
  l:a;
  i,d,f,n,max: integer;
  w,k,s:string;
begin
  d:=1;
  while (s<>'end') do
  begin
    readln(s);
    for i:= 1 to length(s) do
    begin
      if (s[i]>='0')and(s[i]<='9') then
      begin
        w:=w+s[i];
        val(w,f);
        l[d]:=f;
      end
      else if (s[i]<>' ') then
      begin
        k:=k+s[i];
        t[d]:=k;
      end;
    end;
    d:=d+1;
    w:='';
    k:='';
end;
  for d:= low(l) to high(l) do
  begin
    if l[d] > max then
    begin
      max:=l[d];
      n:=d;
    end;
  end;
  d:=n;
    writeln('Pobeditel: ',t[d]);
    writeln('S kolichestvom ballov: ',max);
    readln();
end.