Урок 17 (Решенная задача номер 6)
Primary tabs
Урок 17 (Решенная задача номер 6)
Решите предыдущую задачу с использованием процедуры, которая разбирала бы очередную строку, изменяя по ссылке значения двух перемененных (одна для имени и одна для балла), уже после вызова этой процедуры для очередной строки записывайте очередные значения переменных в массивы (каждую в свой).
Подсказка: Т.е. такая процедура может иметь следующую сигнатуру:
procedure getData(str: string; var name: string; var ball: integer);type myarr = array[1..3] of integer; miarr = array[1..3] of string; var s, name : string; bal, o, u : integer; smassiv : miarr; cmassiv : myarr; procedure ru36(h : string; var sname : string; var sbal : integer); var i, c : integer; g: string; begin for i := 1 to length(h) do begin if (h[i] <> '') and (h[i] > '9') then sname := sname + h[i]; if (h[i] >= '0') and (h[i] <= '9') then g := g + h[i]; if (i = length(h)) then val(g, sbal, c); end; end; procedure ru37(m : miarr; a : myarr); begin if (a[1] > a[2]) and (a[1] > a[3]) then writeln('Pobeditel - ', m[1],' ', 'ego kol-vo ballov - ', a[1]) else if (a[2] > a[3]) then writeln('Pobeditel - ', m[2],' ', 'ego kol-vo ballov - ', a[2]) else writeln('Pobeditel - ', m[3],' ', 'ego kol-vo ballov - ', a[3]); end; begin o := 1; while (o <= 3) do begin writeln('vvedite stroky'); readln(s); ru36(s, name, bal); smassiv[o] := name; cmassiv[o] := bal; Inc(o); name := ''; end; ru37(smassiv, cmassiv); end.
- Log in to post comments
- 940 reads