Задача 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
- 1257 reads
vedro-compota
Wed, 09/08/2021 - 20:15
Permalink
решение засчитано
решение засчитано
_____________
матфак вгу и остальная классика =)