Вопрос задан 07.06.2023 в 03:30. Предмет Информатика. Спрашивает Галас Вася.

С++ 2-х массивов размером 5 элементов каждый в один массив размером 10 элементов следующим образом:

сначала копируются последовательно все элементы, большие 0, затем последовательно все элементы, равные 0, а затем последовательно все элементы, меньшие 0​
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Кушнир Катя.

Ответ:

#include <iostream>

using namespace std;

int main() {

   int arr1[5] = {2, 0, -1, 5, -3}; // первый массив

   int arr2[5] = {1, -2, 0, 6, -4}; // второй массив

   int result[10]; // результирующий массив

   int index = 0; // индекс текущей позиции в результирующем массиве

   

   // копируем все элементы больше 0

   for (int i = 0; i < 5; i++) {

       if (arr1[i] > 0) {

           result[index] = arr1[i];

           index++;

       }

   }

   for (int i = 0; i < 5; i++) {

       if (arr2[i] > 0) {

           result[index] = arr2[i];

           index++;

       }

   }

   

   // копируем все элементы равные 0

   for (int i = 0; i < 5; i++) {

       if (arr1[i] == 0) {

           result[index] = arr1[i];

           index++;

       }

   }

   for (int i = 0; i < 5; i++) {

       if (arr2[i] == 0) {

           result[index] = arr2[i];

           index++;

       }

   }

   

   // копируем все элементы меньше 0

   for (int i = 0; i < 5; i++) {

       if (arr1[i] < 0) {

           result[index] = arr1[i];

           index++;

       }

   }

   for (int i = 0; i < 5; i++) {

       if (arr2[i] < 0) {

           result[index] = arr2[i];

           index++;

       }

   }

   

   // выводим результат

   for (int i = 0; i < 10; i++) {

       cout << result[i] << " ";

   }

   cout << endl;

   

   return 0;

}

Объяснение:

0 0
Отвечает Седова Ольга.

Відповідь:

#include <iostream>

using namespace std;

int main()

{

   int arr1[5] = {3, -2, 0, 7, -5}; // первый массив

   int arr2[5] = {2, 0, -4, 6, 1}; // второй массив

   int arr3[10]; // новый массив

   int i, j, k;

   // копируем все элементы больше 0

   k = 0;

   for (i = 0; i < 5; i++) {

       if (arr1[i] > 0) {

           arr3[k] = arr1[i];

           k++;

       }

   }

   for (j = 0; j < 5; j++) {

       if (arr2[j] > 0) {

           arr3[k] = arr2[j];

           k++;

       }

   }

   // копируем все элементы равные 0

   for (i = 0; i < 5; i++) {

       if (arr1[i] == 0) {

           arr3[k] = arr1[i];

           k++;

       }

   }

   for (j = 0; j < 5; j++) {

       if (arr2[j] == 0) {

           arr3[k] = arr2[j];

           k++;

       }

   }

   // копируем все элементы меньше 0

   for (i = 0; i < 5; i++) {

       if (arr1[i] < 0) {

           arr3[k] = arr1[i];

           k++;

       }

   }

   for (j = 0; j < 5; j++) {

       if (arr2[j] < 0) {

           arr3[k] = arr2[j];

           k++;

       }

   }

   // выводим новый массив

   for (i = 0; i < 10; i++) {

       cout << arr3[i] << " ";

   }

   return 0;

}

Пояснення:

В данном примере мы объявляем два массива arr1 и arr2 размером 5 элементов каждый, а также массив arr3 размером 10 элементов, в который будут скопированы элементы из первых двух массивов в нужном порядке.

Затем мы используем циклы для копирования элементов из arr1 и arr2 в arr3 в нужном порядке: сначала все элементы больше 0, затем все элементы равные 0, и в конце все элементы меньше 0.

Наконец, мы выводим новый массив arr3 на экран.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вот пример кода на C++, который выполняет указанную операцию:

cpp
#include <iostream> int main() { int array1[5] = {2, -3, 0, 7, -1}; int array2[5] = {-5, 0, 4, -2, 1}; int result[10]; int index = 0; // Копирование элементов, больших 0 for (int i = 0; i < 5; ++i) { if (array1[i] > 0) result[index++] = array1[i]; } // Копирование элементов, равных 0 for (int i = 0; i < 5; ++i) { if (array1[i] == 0) result[index++] = array1[i]; } // Копирование элементов, меньших 0 for (int i = 0; i < 5; ++i) { if (array1[i] < 0) result[index++] = array1[i]; } // Копирование элементов, больших 0 for (int i = 0; i < 5; ++i) { if (array2[i] > 0) result[index++] = array2[i]; } // Копирование элементов, равных 0 for (int i = 0; i < 5; ++i) { if (array2[i] == 0) result[index++] = array2[i]; } // Копирование элементов, меньших 0 for (int i = 0; i < 5; ++i) { if (array2[i] < 0) result[index++] = array2[i]; } // Вывод результирующего массива for (int i = 0; i < 10; ++i) { std::cout << result[i] << " "; } return 0; }

В данном примере используются два исходных массива array1 и array2, каждый размером 5 элементов. Затем создается массив result размером 10 элементов для хранения результата.

Сначала копируются все элементы из array1, которые больше 0, затем все элементы, равные 0, и, наконец, все элементы, меньшие 0. Затем происходит аналогичная операция для array2.

Результирующий массив result выводится на экран.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос