Pascal Урок 17 Задача 5
Primary tabs
Пользователь вводит в консоль строки вида (имя + произвольное число пробелов + балл):
Вася 485
Коля 555
Юра 61
..........
....
end // признак завершения ввода
(пока не введёт строку end) -- где слева указаны имена участников, а справа -- число баллов.
Используя массив строк и массив целых чисел (пусть оба массива будут максимальной длины =3) считайте отдельно имена и баллы и определите победителя, выведя его имя и полученный им балл.
program U15Z5;
type
a=array[1..3] of integer;
b=array[1..3] of string;
var
t:b;
l:a;
i,d,f,n,max: integer;
w,k,s:string;
begin
d:=1;
while (s<>'end') do
begin
readln(s);
for i:= 1 to length(s) do
begin
if (s[i]>='0')and(s[i]<='9') then
begin
w:=w+s[i];
val(w,f);
l[d]:=f;
end
else if (s[i]<>' ') then
begin
k:=k+s[i];
t[d]:=k;
end;
end;
d:=d+1;
w:='';
k:='';
end;
for d:= low(l) to high(l) do
begin
if l[d] > max then
begin
max:=l[d];
inc(n);
end;
end;
d:=n;
writeln('Pobeditel: ',t[d]);
writeln('S kolichestvom ballov: ',max);
readln();
end.
- Log in to post comments
- 1466 reads
JimATI
Thu, 08/06/2020 - 17:53
Permalink
Доработка программы
program U15Z5; type a=array[1..3] of integer; b=array[1..3] of string; var t:b; l:a; i,d,f,n,max: integer; w,k,s:string; begin d:=1; while (s<>'end') do begin readln(s); for i:= 1 to length(s) do begin if (s[i]>='0')and(s[i]<='9') then begin w:=w+s[i]; val(w,f); l[d]:=f; end else if (s[i]<>' ') then begin k:=k+s[i]; t[d]:=k; end; end; d:=d+1; w:=''; k:=''; end; for d:= low(l) to high(l) do begin if l[d] > max then begin max:=l[d]; n:=d; end; end; d:=n; writeln('Pobeditel: ',t[d]); writeln('S kolichestvom ballov: ',max); readln(); end.JimATI
Sat, 09/05/2020 - 16:46
Permalink
Доработка программы
program U15Z5; type a=array[1..3] of integer; b=array[1..3] of string; var t:b; l:a; i,d,f,n,max: integer; w,k,s:string; begin d:=1; while (s<>'end') do begin readln(s); for i:= 1 to length(s) do begin if (s[i]>='0')and(s[i]<='9') then begin w:=w+s[i]; val(w,f); l[d]:=f; end else if (s[i]<>' ') then begin k:=k+s[i]; t[d]:=k; end; end; d:=d+1; w:=''; k:=''; end; for d:= low(l) to high(l) do begin if l[d] > max then begin max:=l[d]; n:=d; end; end; d:=n; writeln('Pobeditel: ',t[d]); writeln('S kolichestvom ballov: ',max); readln(); end.