Поиск количества отрицательных и положительных элементов над главной диагональю матрицы - 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;
}

Объяснение кода листинга программы

В этом коде:

  1. Создается матрица Array размером 3x4.
  2. Пользователю предлагается ввести значения элементов матрицы.
  3. Переменные negative_count и positive_count инициализируются нулевыми значениями. Они будут использоваться для подсчета количества отрицательных и положительных элементов над главной диагональю матрицы.
  4. Два вложенных цикла for используются для прохода по всем элементам матрицы. В первой итерации первого цикла вводится значение каждого элемента матрицы.
  5. Два вложенных цикла for используются для прохода по всем элементам матрицы, начиная со второго элемента (так как главная диагональ начинается со второго элемента). Если элемент отрицательный, увеличивается значение переменной negative_count, если положительный - значение переменной positive_count.
  6. Если количество положительных элементов больше, чем количество отрицательных, то все отрицательные элементы заменяются на ноль.
  7. Если количество положительных элементов меньше, чем количество отрицательных, то все положительные элементы заменяются на ноль.
  8. Выводится матрица на экран.
  9. Программа возвращает ноль, заканчивая свою работу.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы