Задание 5 урок 18
Primary tabs
Пользователь вводит в консоль строки вида (имя + произвольное число пробелов + балл):
Вася 485 Коля 555 Юра 61end // признак завершения ввода
(пока не введёт строку end) -- где слева указаны имена участников, а справа -- число баллов.
Используя массив строк и массив целых чисел (пусть оба массива будут максимальной длины =3) считайте отдельно имена и баллы и определите победителя, выведя его имя и полученный им балл.
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.
- Log in to post comments
- 938 reads
vedro-compota
Wed, 12/29/2021 - 18:15
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)