Задача 5 Урок 17
Primary tabs
Пользователь вводит в консоль строки вида (имя + произвольное число пробелов + балл):
Вася 485 Коля 555 Юра 61 .......... .... end // признак завершения ввода(пока не введёт строку end) -- где слева указаны имена участников, а справа -- число баллов.
Используя массив строк и массив целых чисел (пусть оба массива будут максимальной длины =3) считайте отдельно имена и баллы и определите победителя, выведя его имя и полученный им балл.
var i, k, c, id, Code, scoreInt: integer; s, Name,scoreStr: string; nameArr : array[1..5] of string; scoreArr : array[1..5] of integer; procedure getData(s: string; var Name: string; var scoreStr: string); begin Name := ''; scoreStr := ''; for i := 1 to length(s) do begin if((s[i] >= '0') and (s[i] <= '9')) then scoreStr := scoreStr + s[i] else if(s[i] <> ' ') then Name := Name + s[i]; end; Val(scoreStr, scoreInt, Code); end; begin k:=0; // индексирует массив writeln('vvedi name + ___ + score'); repeat readln(s); if (s <> 'end') then begin getData(s,Name,scoreStr); k:=k+1; end; nameArr[k] := Name; scoreArr[k] := scoreInt; until(s = 'end'); // поиск победителя c := scoreArr[1]; for i := 1 to high(scoreArr) do begin if(scoreArr[i] > c) then begin c := scoreArr[i]; id := i; end; end; writeln('pobedil ', nameArr[id], ' c rezultom ', c); readln(); end.
результат :
vvedi name + + score qqq 111 www 222 eee 444 rrr 333 end pobedil eee c rezultom 444
- Log in to post comments
- 958 reads
vedro-compota
Wed, 09/08/2021 - 20:15
Permalink
решение засчитано
решение засчитано
_____________
матфак вгу и остальная классика =)