Хелпикс

Главная

Контакты

Случайная статья





min1 := 20; min2 := 20; min3 := 20;



min1 := 20; min2 := 20; min3 := 20;

for i:=1 to N do begin

 if Info[i].sum < min1 then begin { новый min1 }

min3 := min2; min2 := min1;

min1 := Info[i].sum;

 end

 else if Info[i].sum < min2 then begin { новый min2 }

min3 := min2;

min2 := Info[i].sum;

end

else if Info[i].sum < min3 then { новый min3 }

 min3 := Info[i].sum;

end;

16) обратим внимание на два момента: во-первых, когда переезжают два элемента, сначала нужно перемещать второй на место третьего, а потом – первый на место второго:

min3 := min2;

min2 := min1;

эти операторы нельзя менять местами, иначе «старое» значение min2 будет потеряно;

 во-вторых, если проверять условие Info[i].sum < min2 нужно только тогда, когда очередная сумма не меньше, чем min1, поэтому каждый следующий условный оператор стоит в else-блоке предыдущего, то есть, выполняется только тогда, когда предыдущий не сработал

17) итак, мы нашли три минимальных результата, и остается вывести на экран фамилии и имена тех, у кого сумма баллов меньше или равна min3:

for i:=1 to N do

 if Info[i].sum <= min3 then

 writeln(Info[i].name);

18) на всякий случай приведем полную программу, она получилась довольно длинная

const LIM = 100;

var Info: array[1..LIM] of record

 name: string;

 sum: integer;

end;

 i, k, N, mark, min1, min2, min3: integer;

c: char;

begin

readln(N);

{ ввод исходных данных }

for i:=1 to N do begin

 Info[i].name := '';

 for k:=1 to 2 do

repeat

read(c);

Info[i].name := Info[i].name + c;

until c = ' ';

 Info[i].sum := 0;

 for k:=1 to 3 do begin

read(mark);

Info[i].sum := Info[i].sum + mark;

 end;

 readln;

end;

{ поиск трех минимальных }

min1 := 20; min2 := 20; min3 := 20;

for i:=1 to N do begin

 if Info[i].sum <min1 then begin

min3 := min2; min2 := min1;

min1 := Info[i].sum;

 end

 else if Info[i].sum <min2 then begin

min3 := min2;

min2 := Info[i].sum;

end

else if Info[i].sum <min3 then

 min3 := Info[i].sum;



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.