Задача 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
- 268 reads