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

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

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

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

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

textual
Листинг программы
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6.     setlocale(LC_ALL,"rus");
  7.     const int n = 3;
  8.     int a[n][n];
  9.     int b[n*n], c[n*n];
  10.     int first = 0, second = 0;
  11.     for(int i = 0; i < n; i++)
  12.     {
  13.         for(int j = 0; j < n; j++)
  14.         {
  15.             cout << "a[" << i << "]["<< j << "] = ";
  16.             cin >> a[i][j];
  17.             if(a[i][j] > 0)
  18.             {
  19.                 b[first] = a[i][j];
  20.                 first++;
  21.             }
  22.             if(a[i][j] < 0)
  23.             {
  24.                 c[second] = a[i][j];
  25.                 second++;
  26.             }
  27.         }
  28.     }
  29.     cout << "Массив из положительных: " << endl;
  30.     for(int i = 0; i < first; i++)
  31.         cout << b[i] << " ";
  32.     cout << "\nМассив из отрицательных: " << endl;
  33.     for(int i = 0; i < second; i++)
  34.         cout << c[i] << " ";
  35. }

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

  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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы