Var max1,max2,min1,min2,i:integer; ar:array[1..n] of integer; begin max1:=integer.MinValue; max2:=integer.MinValue; min1:=integer.MaxValue; min2:=integer.MaxValue; for i:=1 to n do begin readln(ar[i]); if (ar[i]<max1) and (ar[i]>max2) then max2:=ar[i] else if ar[i]>max1 then begin max2:=max1; max1:=ar[i]; end; if (ar[i]>min1) and (ar[i]<min2) then min2:=ar[i] else if ar[i]<min1 then begin max2:=max1; min1:=ar[i]; end; end; writeln('Сумма максимумов:',max1+max2); writeln('Cумма минимумов:',min1+min2); end.
Пример ввода: 1 2 3 4 5 Пример вывода: Сумма максимумов:9 Cумма минимумов:3
// PascalABC.NET 3.1, сборка 1255 от 20.06.2016 begin var a:=ArrRandom(ReadInteger('n='),1,100); a.Println; Writeln('Сумма двух максимумов равна ', a.SortedDescending.Take(2).Sum); Writeln('Сумма двух минимумов равна ', a.Sorted.Take(2).Sum); end.
Тестовое решение n= 15 14 6 2 18 93 74 2 23 69 83 35 45 9 65 32 Сумма двух максимумов равна 176 Сумма двух минимумов равна 4
var x: array[1..n] of integer; i, min, max: integer;
begin Randomize; Writeln('Элементы массива'); min := 32767; max := -32768; for i := 1 to n do begin x[i] := Random(101) - 50; Write(x[i]:4); if (x[i] > 0) and (min > x[i]) then min := x[i] else if (x[i] < 0) and (max < x[i]) then max := x[i] end; Writeln; Writeln('Min=', min, ', max=', max) end.
var x: array[1..n] of integer; i, max, max1: integer;
begin Randomize; Writeln('Элементы массива'); max := -32768; max1 := max; for i := 1 to n do begin x[i] := Random(100); Write(x[i]:3); if max < x[i] then begin max1 := max; max := x[i] end else if max1 < x[i] then max1 := x[i] end; Writeln; Writeln('Второй максимум равен ', max1) end.
Const
n=5;
Var
max1,max2,min1,min2,i:integer;
ar:array[1..n] of integer;
begin
max1:=integer.MinValue;
max2:=integer.MinValue;
min1:=integer.MaxValue;
min2:=integer.MaxValue;
for i:=1 to n do
begin
readln(ar[i]);
if (ar[i]<max1) and (ar[i]>max2) then max2:=ar[i] else
if ar[i]>max1 then
begin
max2:=max1;
max1:=ar[i];
end;
if (ar[i]>min1) and (ar[i]<min2) then min2:=ar[i] else
if ar[i]<min1 then
begin
max2:=max1;
min1:=ar[i];
end;
end;
writeln('Сумма максимумов:',max1+max2);
writeln('Cумма минимумов:',min1+min2);
end.
Пример ввода:
1
2
3
4
5
Пример вывода:
Сумма максимумов:9
Cумма минимумов:3