Разделить массив на два новых, чтобы в первом были значения, большие нуля, а в другом — меньшие - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Есть двухмерный масив целых чисел, который содержит отрицательные и положительные значение. Розделить его на два новых таким образом, чтобы в первом оказались значения, большие нуля, а в другом - меньше.

Решение задачи: «Разделить массив на два новых, чтобы в первом были значения, большие нуля, а в другом — меньшие»

textual
Листинг программы
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"rus");
    const int n = 3;
    int a[n][n];
    int b[n*n], c[n*n];
    int first = 0, second = 0;
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < n; j++)
        {
            cout << "a[" << i << "]["<< j << "] = ";
            cin >> a[i][j];
            if(a[i][j] > 0)
            {
                b[first] = a[i][j];
                first++;
            }
            if(a[i][j] < 0)
            {
                c[second] = a[i][j];
                second++;
            }
        }
    }
    cout << "Массив из положительных: " << endl;
    for(int i = 0; i < first; i++)
        cout << b[i] << " ";
    cout << "\nМассив из отрицательных: " << endl;
    for(int i = 0; i < second; i++)
        cout << c[i] << " ";
}

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

  1. Подключение необходимых библиотек для работы с потоками ввода-вывода
  2. Установка русской локали для вывода информации
  3. Объявление константы размера массива n
  4. Создание двумерного массива a размером n на n и инициализация его значениями
  5. Создание одномерных массивов b и c размером n*n для хранения значений, которые больше или меньше нуля соответственно
  6. Инициализация переменных first и second со значением 0 для отслеживания количества элементов в массивах b и c
  7. Обход массива a с помощью двух вложенных циклов, где внешний цикл выполняется по строкам, а внутренний по столбцам
  8. Ввод значений массива a с помощью функции cin и сохранение их в соответствующую ячейку массива a
  9. Проверка значения элемента массива a с помощью условного оператора if. Если значение больше нуля, то сохраняем его в массив b с помощью функции cout и увеличиваем значение переменной first на 1.
  10. Если значение элемента массива a меньше нуля, то сохраняем его в массив c с помощью функции cout и увеличиваем значение переменной second на 1.
  11. Вывод информации о массиве a с помощью функции cout
  12. Вывод значений массива b с помощью функции cout и пробелов в качестве разделителей
  13. Вывод значений массива c с помощью функции cout и пробелов в качестве разделителей
  14. Ожидание ввода пользователем значения для продолжения работы программы

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


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

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

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