Держи: begin var arr:array[1..30] of integer; var max1:=-1; var min2:=1; var max3:=-999999; for var i := 1 to 30 do readln(arr[i]); writeln(arr.JoinIntoString()); for var i := 1 to 30 do begin if (arr[i] >= 0) and (arr[i] > max1) and (arr[i] mod 2 = 0) then max1 := arr[i]; if (arr[i] < 0) and (arr[i] < min2) and (arr[i] mod 2 <> 0) then min2 := arr[i]; if (arr[i] mod 7 = 0) and (arr[i] > max3) then max3 := arr[i]; end; writeln('Максимальное среди четных положительных чисел:' + max1); writeln('Минимальное среди нечетных отрицательных чисел:' + min2); writeln('Максимальное среди чисел кратных 7:' + max3); end. ... Скажи, если надо объяснить ... Если не сложно нажми " " ;)
Конечно, проще было все написать в одной программе:
// PascalABC.NET 3.1, сборка 1213 от 04.04.2016 begin var a:=ArrRandom(30,-99,99); a.Println; Writeln(a.Where(x->(x>0) and x.IsEven).Max); Writeln(a.Where(x->(x<0) and x.IsOdd).Min); Writeln(Range(6,29,7).Select(i->a[i]).Max) end.
begin
var arr:array[1..30] of integer; var max1:=-1;
var min2:=1;
var max3:=-999999;
for var i := 1 to 30 do readln(arr[i]);
writeln(arr.JoinIntoString());
for var i := 1 to 30 do
begin
if (arr[i] >= 0) and (arr[i] > max1) and (arr[i] mod 2 = 0) then max1 := arr[i];
if (arr[i] < 0) and (arr[i] < min2) and (arr[i] mod 2 <> 0) then min2 := arr[i];
if (arr[i] mod 7 = 0) and (arr[i] > max3) then max3 := arr[i];
end;
writeln('Максимальное среди четных положительных чисел:' + max1);
writeln('Минимальное среди нечетных отрицательных чисел:' + min2);
writeln('Максимальное среди чисел кратных 7:' + max3);
end.
...
Скажи, если надо объяснить
...
Если не сложно нажми " " ;)
begin
var a:=ArrRandom(30,-99,99); a.Println;
Writeln(a.Where(x->(x>0) and x.IsEven).Max)
end.
Тестовое решение:
79 -52 -50 -48 0 -99 96 -70 39 -62 59 42 3 -17 17 87 -4 34 -87 34 -22 78 94 76 89 61 -71 -45 -30 3
96
// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
begin
var a:=ArrRandom(30,-99,99); a.Println;
Writeln(a.Where(x->(x<0) and x.IsOdd).Min)
end.
Тестовое решение:
-81 98 86 94 -23 27 44 -52 -21 89 -52 58 -79 13 60 -39 90 99 -21 43 25 72 30 -17 -25 47 26 -41 -23 -41
-81
// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
begin
var a:=ArrRandom(30,-99,99); a.Println;
Writeln(Range(6,29,7).Select(i->a[i]).Max)
end.
Тестовое решение:
-70 -16 -1 28 53 -44 -11 56 -54 78 -48 23 -85 29 -87 -30 24 -59 -78 63 -84 -82 -57 64 61 76 50 -37 81 -28
29
Конечно, проще было все написать в одной программе:
// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
begin
var a:=ArrRandom(30,-99,99); a.Println;
Writeln(a.Where(x->(x>0) and x.IsEven).Max);
Writeln(a.Where(x->(x<0) and x.IsOdd).Min);
Writeln(Range(6,29,7).Select(i->a[i]).Max)
end.
Тестовое решение:
68 99 57 92 -12 -67 71 -23 58 26 20 -47 6 63 -54 -92 -91 -24 27 -25 75 94 88 65 32 15 -56 -58 -85 -78
94
-91
75