Задача 7 Урок 18
Primary tabs
Решите предыдущую задачу:
С использованием процедуры, которая разбирала бы очередную строку, изменяя по ссылке значения двух перемененных (одна для имени и одна для балла), уже после вызова этой процедуры для очередной строки записывайте очередные значения переменных в массивы (каждую в свой).
Подсказка: Т.е. такая процедура может иметь следующую сигнатуру:procedure getData(str: string; var name: string; var ball: integer);
program u18z7;
type
data = array[1..3] of integer;
simb = array[1..3] of string;
var
a,code,i,j,max,ball: integer;
str,b,n,name: string;
ba: data;
na: simb;
procedure getData(str: string; var name: string; var ball: integer);
begin
for j:=1 to length(str) do
begin
val(str[j], a, code);
if (str[j]<>' ') then
if (code=0) then //цифры записываем в "b"
b:=b+str[j]
else
n:=n+str[j]; //буквы записываем в "n"
end;
val(b, a);
name:=n;
ball:=a;
end;
begin
for i:= 1 to 3 do
begin
writeln('Vvedite stroku',i);
readln(str);
n:='';
b:='';
if str='end' then
break
else
begin
getData (str,name,ball);
na[i]:=name;
ba[i]:=ball;
end;
end;
max:=1;
for i:= 1 to 3 do
begin
if ba[i]>ba[i-1] then
max:=i;
end;
writeln(na[max],' ',ba[max]);
readln();
end. - Log in to post comments
- 376 reads