• Предмет: Информатика
  • Автор: vikakrucok8
  • Вопрос задан 5 месяцев назад

С++ 2-х массивов размером 5 элементов каждый в один массив размером 10 элементов следующим образом: сначала копируются последовательно все элементы, большие 0, затем последовательно все элементы, равные 0, а затем последовательно все элементы, меньшие 0​

Ответы

Ответ дал: mafin228822
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;

}

Объяснение:

Ответ дал: rdwwwberk
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 на экран.

Вас заинтересует