40 ! найти сумму отрицательных элементов на побочной диагонали матрицы а(8,8), а также произведение ненулевых элементов в области выше главной диагонали. на паскале. первая часть выглядит так program zadanie_4; const n=8; m=8; var x: array[1..n,1..n] of integer; i,j,s: integer; begin randomize; writeln('случайная матрица: '); for i: =1 to n dobegin for j: =1 to m do begin x[i,j]: =random(51)-25; write(x[i,j]: 5); end; writelnend; s : = 0; for i: =1 to n do if x[i,n-i+1] < 0 then s: =s+x[i,n-i+1]; writeln('сумма отрицательных элементов побочной диагонали = ',s); readln end. со второй частью
что-то типа этого:
const n = 8, m = 8;
var
A: array[1..n,1..m] of integer;
i, j, sum, product: integer;
isnotnull: boolean;
begin
randomize;
writeln('Случайная матрица:'); for i:=1 to n do begin
for j:=1 to m do begin
A[i,j] := random(51) - 25;
write(A[i,j]:5);
end;
writeln;
end; sum := 0;
for i:=1 to n do
if A[i,n-i+1] < 0 then
sum := sum + A[i,n-i+1];
writeln('Сумма отрицательных элементов побочной диагонали = ', sum); product := 1;
isnotnull := False;
for i:=1 to n-1 do
for j:=2 to n do
if (j > i) and (A[i,j] <> 0) then begin
isnotnull := True;
product := product * A[i,j];
end;
if isnotnull
writeln('Произведение ненулевых элементов в области выше главной диагонали = ', product)
else
writeln('Ненулевых элементов в области выше главной диагонали нет.', product); readln;
end.