Двумерный массив с из 2-х строчек и 4-х столбцов задан при генератора случайных чисел из интервала [-10, 30] (целые числа). подсчитайте произведение элементов массива, которые больше 0, но меньше 20. информатика, 11 класс,
//Pascal var A: array [1..2, 1..4] of integer; i, j: byte; mult: longint; begin mult := 1; writeln('Сгенерированный массив: '); for i := 1 to 2 do begin for j := 1 to 4 do begin A[i, j] := random(41)-10; write(A[i, j]:4); if ((A[i, j] > 0) and (A[i, j] < 20)) then mult := mult * A[i, j]; end; writeln; end; writeln('Произведение = ', mult); end.
// Внимание! Если программа не работает, обновите версию!
begin
Writeln('*** Исходный массив ***');
var a:=MatrRandom(2,4,-10,30);
a.Println(4); Writeln(4*a.ColCount*'-');
Writeln('П = ',a.ElementsByRow.Where(t->t.Between(1,19))
.Aggregate(1,(x,y)->x*y))
end.
Пример
*** Исходный массив ***
24 16 22 12
2 5 1 8
П = 15360
var
A: array [1..2, 1..4] of integer;
i, j: byte;
mult: longint;
begin
mult := 1;
writeln('Сгенерированный массив: ');
for i := 1 to 2 do
begin
for j := 1 to 4 do
begin
A[i, j] := random(41)-10;
write(A[i, j]:4);
if ((A[i, j] > 0) and (A[i, j] < 20)) then
mult := mult * A[i, j];
end;
writeln;
end;
writeln('Произведение = ', mult);
end.