Поиск количества отрицательных и положительных элементов над главной диагональю матрицы - C (СИ)
Формулировка задачи:
Здравствуйте помогите пожалуйста с написание программы, всю голову сломал не знаю как сделать.
Задан числовой массив А[1:m, 1:n]. Составить программу поиска количества отрицательных и положительных элементов массива расположенных над главной диагональю и обнуления тех, количество которых минимально.
Заранее спасибо.Решение задачи: «Поиск количества отрицательных и положительных элементов над главной диагональю матрицы»
textual
Листинг программы
#include <iostream>
using namespace std;
int main()
{
int negative_count = 0;
int positive_count = 0;
int Array[3][4];
int i = 0, j = 0, k = 4;
for (i = 0; i<4; i++)
{
for ( j = 0; j<3; j++)
{
cout<<"Array["<<i<<"]["<<j<<"]= ";
cin>>Array[i][j];
}
}
for ( i = 0; i < k - 1; i++)
{
for ( j = i + 1; j < k; j++)
{
if (Array[i][j] >0) positive_count++;
else if (Array[i][j] < 0) negative_count++;
}
}
if (positive_count > negative_count)
for ( i = 0; i < k - 1; i++)
{
for ( j = i + 1; j < k; j++)
{
if (Array[i][j] < 0)
Array[i][j] = 0;
}
}
if (positive_count < negative_count)
for ( i = 0; i < k - 1; i++)
{
for ( j = i + 1; j < k; j++)
{
if (Array[i][j] > 0) Array[i][j] = 0;
}
}
for (i = 0; i<4; i++)
{
for (j = 0; j<3; j++)
{
cout << Array[i][j];
cout << " ";
}
cout<<endl;
}
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Создается матрица
Arrayразмером 3x4. - Пользователю предлагается ввести значения элементов матрицы.
- Переменные
negative_countиpositive_countинициализируются нулевыми значениями. Они будут использоваться для подсчета количества отрицательных и положительных элементов над главной диагональю матрицы. - Два вложенных цикла
forиспользуются для прохода по всем элементам матрицы. В первой итерации первого цикла вводится значение каждого элемента матрицы. - Два вложенных цикла
forиспользуются для прохода по всем элементам матрицы, начиная со второго элемента (так как главная диагональ начинается со второго элемента). Если элемент отрицательный, увеличивается значение переменнойnegative_count, если положительный - значение переменнойpositive_count. - Если количество положительных элементов больше, чем количество отрицательных, то все отрицательные элементы заменяются на ноль.
- Если количество положительных элементов меньше, чем количество отрицательных, то все положительные элементы заменяются на ноль.
- Выводится матрица на экран.
- Программа возвращает ноль, заканчивая свою работу.