Minmax23. Дано целое число $$N (> 3)$$ и набор из $$N$$ чисел. Найти три наибольших элемента из данного набора и вывести эти элементы в порядке убывания их значений.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
program Minmax23; var Max1,Max2,Max3,R,Sum:Real; N,i:Integer; begin Sum:=0; Write('N:'); Readln(N); for i:=1 to N do begin Write(i,' число:'); Readln(R); if i=1 then begin Max1:=R; Max2:=R; Max3:=R; end; if Max1=Max2 then Max2:=R; if (Max3=Max1) or (Max3=Max2) then Max3:=R; if R>Max3 then if R>Max2 then if R>Max1 then begin Max3:=Max2; Max2:=Max1; Max1:=R; end else if R<>Max1 then begin Max3:=Max2; Max2:=R; end else if R<>Max2 then Max3:=R; end; writeln(Max1,' ',Max2,' ',Max3); end. |
Другие задачи из раздела Minmax можно посмотреть здесь.
а если a < max2 и a > max3?
а если a=max1