Задача 8 Урок 18
Primary tabs
Решите предыдущую задачу:
Пользователь вводит в консоль строки вида (имя + произвольное число пробелов + балл):
Вася 485
Коля 555
Юра 61
..........
....
end // признак завершения ввода(пока не введёт строку end) -- где слева указаны имена участников, а справа -- число баллов.
Используя массив строк и массив целых чисел (пусть оба массива будут максимальной длины =3) считайте отдельно имена и баллы и определите победителя, выведя его имя и полученный им балл.С использованием процедуры, которая разбирала бы очередную строку, изменяя по ссылке значения двух перемененных (одна для имени и одна для балла), уже после вызова этой процедуры для очередной строки записывайте очередные значения переменных в массивы (каждую в свой).
var i,j,max,l:integer; Nmax:string; bal:array [1..3] of integer; x,name:array [1..3] of string; s:array [1..4] of string; procedure table(s:string;var name: string; var bal: integer); var i: integer; x:string; begin for i:=1 to Length(s) do begin if (s[i]>='0')and (s[i]<='9')then x:=x+s[i] else if s[i]<>' ' then name:=name+s[i]; end; val(x,bal,l); end; begin for i:=1 to 4 do begin readln(s[i]); if s[i]='end' then break; table(s[i],name[i],bal[i]); end; max:=bal[1]; for i:=2 to 3 do if bal[i]>max then begin max:=bal[i]; Nmax:=name[i]; end else begin max:=bal[i-1]; Nmax:=name[i-1]; end; write(Nmax,' ',max); readln(); end.
- Log in to post comments
- 212 reads