Задание 5 урок 18

Пользователь вводит в консоль строки вида (имя + произвольное число пробелов + балл):

Вася         485
Коля       555
Юра        61

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

Задание 5 урок 18

type arrText = array[1..3] of string;
     arrCislo = array[1..3] of integer;
var
    Z: arrText;                //  из основного массива строк
    A: arrCislo;               //  в массив баллов
    B: arrText;                //  в массив имен

    k,C,j,i,Ball: integer;
    S, StrChislo, StrName: string;
begin                         //запись строк в массив строк
  S:= '';
  i := 0;
  writeln('vvedite name and ball');
  while (S <> 'end') do
  begin
    i:= i +1;
    readln(S);
    if i <= 3 then
      Z[i] := S;
  end;
  StrChislo := '';
  StrName := '';
    for i := 1 to 3 do        //считывание раздельно имени и числа
    begin
      for j := 1 to length(Z[i]) do
      begin

        if  (Z[i,j]>='0') and (Z[i,j]<= '9') then
        begin
          StrChislo := StrChislo + Z[i,j];
          val(StrChislo, Ball);
        end
        else if (Z[i,j] = ' ') then
        begin
          StrChislo := '';
        end
        else if (Z[i,j]>='0') and (Z[i,j]<= '9') or (Z[i,j] <> ' ') then
        begin
          StrName := StrName + Z[i,j];
        end;
      end;

      WriteLn('massiv = ',Z[i],' ');
      writeln('Имя: ', StrName, ', счёт: ', Ball, ';');

      B[i] := StrName;       //запись имени и счета в массивы
      A[i] := Ball;
      StrChislo := '';
      StrName := '';
      Ball := 0;
    end;
                          //определение победителя
    k := 0; // имя
    C := 0; // счет (переменная буфер)
    for i := 1 to 3 do
    begin
      if A[i] > C then
      begin
        k := i;
        C := A[i];
      end;
    end;
    writeln('Winner ', B[k], ', with count: ', C);
    readln();

  end. 
vedro-compota's picture

засчитано

_____________
матфак вгу и остальная классика =)