Разделить массив на два новых, чтобы в первом были значения, большие нуля, а в другом — меньшие - 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] << " ";
- }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с потоками ввода-вывода
- Установка русской локали для вывода информации
- Объявление константы размера массива n
- Создание двумерного массива a размером n на n и инициализация его значениями
- Создание одномерных массивов b и c размером n*n для хранения значений, которые больше или меньше нуля соответственно
- Инициализация переменных first и second со значением 0 для отслеживания количества элементов в массивах b и c
- Обход массива a с помощью двух вложенных циклов, где внешний цикл выполняется по строкам, а внутренний по столбцам
- Ввод значений массива a с помощью функции cin и сохранение их в соответствующую ячейку массива a
- Проверка значения элемента массива a с помощью условного оператора if. Если значение больше нуля, то сохраняем его в массив b с помощью функции cout и увеличиваем значение переменной first на 1.
- Если значение элемента массива a меньше нуля, то сохраняем его в массив c с помощью функции cout и увеличиваем значение переменной second на 1.
- Вывод информации о массиве a с помощью функции cout
- Вывод значений массива b с помощью функции cout и пробелов в качестве разделителей
- Вывод значений массива c с помощью функции cout и пробелов в качестве разделителей
- Ожидание ввода пользователем значения для продолжения работы программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д