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.
Здравствуйте ! Вы не указали, каким образом должен заполняться массив (рандомом или с клавиатуры), поэтому я решила заполнить его рандомными числами. При необходимости можете изменить интервал.
#include <iostream>
#include <clocale>
using namespace std;
int main()
{
int sum = 0;
const int rows = 8;
const int cols = 8;
int arr[rows][cols];
setlocale(LC_ALL, "Russian");
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
arr[i][j] = rand() % 10;
cout << arr[i][j] << " ";
}
cout << endl;
}
cout << endl << endl;
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
sum = arr[i][j] + sum;
}
cout << "Сумма элементов массива: " << sum << endl;
что-то типа этого:
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.
Здравствуйте ! Вы не указали, каким образом должен заполняться массив (рандомом или с клавиатуры), поэтому я решила заполнить его рандомными числами. При необходимости можете изменить интервал.
#include <iostream>
#include <clocale>
using namespace std;
int main()
{
int sum = 0;
const int rows = 8;
const int cols = 8;
int arr[rows][cols];
setlocale(LC_ALL, "Russian");
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
arr[i][j] = rand() % 10;
cout << arr[i][j] << " ";
}
cout << endl;
}
cout << endl << endl;
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
sum = arr[i][j] + sum;
}
cout << "Сумма элементов массива: " << sum << endl;
cout << endl;
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
if (j == 0)
arr[i][j] = arr[i][j] / sum;
cout << " " << arr[i][j];
}
cout << endl;
}
return 0;
}
Объяснение: