Вот код:
C++ |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| #include <iostream>
#include <iomanip>
#include <ctime>
int main()
{
const int size=6;
int MAS[size][size];
srand(time(NULL));
std::cout << "Start matrix:\n";
for (int i=0; i<size; i++) // заполнеие и вывод матрицы.
{
for (int j=0; j<size; j++) {
MAS[i][j]=rand()%9+1;
std::cout << std::setw(3) << MAS[i][j]; }
std::cout << std::endl;
}
int sum=0;
for (int i=0; i<size; i++)
for (int j=0; j<size; j++)
if (((i>=j) && (i+j>=size-1)) || ((i<=j) && (i+j<=size-1))) sum+=MAS[i][j];
std::cout << "Sum: " << sum << std::endl;
return 0;
} |
|
Главная диагональ:
Условия элементов, левее от нее - i>j;
Условия элементов, правее от нее - i<j;
Побочная диагональ:
Условия элементов, левее от нее - i+j<size-1;
Условия элементов, правее от нее - i+j>size-1;
А т.к. диагонали тоже задействованы, то использовано ">=" и "<=".