С++ 2-х массивов размером 5 элементов каждый в один массив размером 10 элементов следующим образом: сначала копируются последовательно все элементы, большие 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;
}
Объяснение:
Відповідь:
#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 на экран.