program array4x4;
const
D = 4; // размерность массива, можно менять на любое другое
var
A: array [1..D, 1..D] of Integer;
i, j, s, smax, jmax, smin, imin: Integer;
begin
Randomize;
for i := 1 to D do begin
WriteLn;
for j := 1 to D do begin
A [i, j] := Random (21) - 5;
Write (A [i, j] :3, ' ');
end;
end;
smax := 0;
jmax := 0;
for j := 1 to D do begin
s := 0;
for i := 1 to D do begin
s := s + Abs (A [i, j]);
end;
if s > smax then begin
smax := s;
jmax := j;
end;
end;
WriteLn;
WriteLn ('Столбец № ', jmax, ' Сумма модулей = ', smax);
imin := 1;
smin := MaxInt;
for i := 1 to D do begin
if A [i, jmax] < smin then begin
smin := A [i, jmax];
imin := i;
end;
end;
WriteLn ('Наименьший элемент: ', imin, ' : ', jmax, ' Равен = ', smin);
ReadLn;
end.
program Proizv;
const
Di = 8; // размерность массива, можно менять на любое другое строки
Dj = 10; // а здесь столбцы
var
A: array [1..Di, 1..Dj] of Integer;
i, j, p: Integer;
begin
Randomize;
for i := 1 to Di do begin
WriteLn;
for j := 1 to Dj do begin
A [i, j] := Random (21) - 3;
Write (A [i, j] :3, ' ');
end;
end;
p := 1;
for i := 1 to Di do begin
if i mod 2 = 0 then // если строка четная то пропускаем
Continue;
for j := 1 to Dj do begin
if A [i, j] < 0 then // перемножаем только отрицательные значения
p := p * A [i, j];
end;
end;
WriteLn;
WriteLn ('Произведение = ', p);
ReadLn;
end.
Объяснение:
для упрощения считаем, что хотя бы одно требуемое число будет найдено. Если таких чисел найдено не будет, то результат произведения будет равен 1.