Запишите в строку фрагмент программы, который позволит найти количество (переменная k) отрицательных элементов массива A, состоящего из 20 элементов. Начинать с for и закончить ; *
begin var a:=ArrRandom(20,10,90); a.Println; var sr:=a.Average; writeln('Среднее = ',sr); var m:=a.MinBy(x->abs(x-sr)); writeln('Искомый номер = ',a.IndexOf(m)+1); end.
===== PascalABC.NET =====
function S(a: array[,] of integer) :=
a.Cols.Where(p -> p.All(q -> q >= 0)).SelectMany(p -> p).Sum;
function M(a: array[,] of integer): integer;
begin
var n := a.RowCount;
Result := integer.MaxValue;
var s: integer;
for var i := 0 to n - 2 do
begin
s := 0;
for var j := 0 to i do
s += Abs(a[i - j, j]);
if s < Result then
Result := s
end;
for var j := 1 to n - 1 do
begin
s := 0;
for var i := n - 1 downto j do
s += Abs(a[i, n - i + j - 1]);
if s < Result then
Result := s
end
end;
begin
var n := ReadInteger('n =');
var a := MatrRandom(n, n, -10, 30);
a.Println;
S(a).Println;
M(a).Println;
end.
// PascalABC.NET 3.3
begin
var a:=ArrRandom(20,10,90); a.Println;
var max_1:=a.Max;
writeln('max_1 = ',max_1,' i_Max_1 = ',a.IndexMax+1);
var max_2:=a.Where(x->x<>max_1).Max;
writeln('max_2 = ',max_2,' i_Max_2 = ',a.IndexOf(max_2)+1);
end.
Пример:
58 10 76 12 22 38 63 30 16 81 84 58 65 20 29 31 18 83 12 38
max_1 = 84 i_Max_1 = 11
max_2 = 83 i_Max_2 = 18
2.
// PascalABC.NET 3.3
begin
var a:=ArrRandom(20,10,90); a.Println;
var sr:=a.Average;
writeln('Среднее = ',sr);
var m:=a.MinBy(x->abs(x-sr));
writeln('Искомый номер = ',a.IndexOf(m)+1);
end.
Пример:
74 80 55 12 74 49 86 32 34 68 29 82 14 35 15 81 18 63 38 75
Среднее = 50.7
Искомый номер = 6