Дана целочисленная матрица 10x10. Найти сумму элементов в заштрихованной области. Сформировать одномерный массив, содержащий количество отрицательных элементов нечетных столбцов. С++
ОЧЕНЬ НАДО ПРОШУ!!!
![](https://st.uroker.com/files/37a/37a8b41682bc79581e80b7806a4dc77b.png)
Ответы
Ответ:
Объяснение:
#include <iostream>
using namespace std;
#define SIZE 10
int M[SIZE][SIZE];
int main()
{
int k[SIZE/2];//количество отрицательных эл-в в нечетн. ст.
cout << "Massive M["<< SIZE<< "][" << SIZE << "]:" << endl;
for(int i = 0; i < SIZE; i ++)
{
for(int j = 0; j < SIZE; j ++)
{
M[i][j] = rand()%200 - 100;//случайные числа [-100; 100)
cout << M[i][j] << "\t";
}
cout << endl;
}
//посчет количества эл-в < 0 в нечетн ст.
for(int j = 1; j < SIZE; j += 2)
{
int k_j = (j - 1)/2;
k[k_j] = 0;
for(int i = 0; i < SIZE; i ++)
if(M[i][j] < 0)
k[k_j] ++;
}
//посчет в заштрихованной области
int sum = 0;
for(int i = 0; i < SIZE; i ++)
{
int granica = i < SIZE/2 ? i : SIZE - (i + 1);
for(int j = 0; j <= granica; j ++)
{
sum += M[i][j] + M[i][SIZE - (j + 1)];
}
}
cout << "Kol-vo elementov v nechetnih ctolbcah" << endl;
for(int i = 0; i < SIZE/2; i ++) //номера столбцов
cout << i*2+1<<"\t";
cout << endl;
for(int i = 0; i < SIZE/2; i ++)
{
cout << k[i] <<"\t";
}
cout << endl << "Summa zashtihovanoi oblasti = " << sum << endl;
return 0;
}
![](https://st.uroker.com/files/548/548165acbd93c250d4a501643754597d.jpg)
![](https://st.uroker.com/files/18e/18eb5e9552d2f510a336fbea44a01fbd.jpg)