Упражнения на C ++: перемещение всех отрицательных элементов массива целых чисел в конец массива без изменения порядка положительного элемента и отрицательного элемента
C ++ Array: Упражнение 18 с решением
Напишите программу на C ++ для перемещения всех отрицательных элементов массива целых чисел в конец массива без изменения порядка положительного элемента и отрицательного элемента.
Пример решения:
Код C ++:
#include <bits/stdc++.h>
using namespace std;
void segregateElements(int nums[], int n)
{
// Array to store result
int result[n];
int j = 0; // index of result
for (int i = 0; i < n ; i++)
if (nums[i] >= 0 )
result[j++] = nums[i];
if (j == n || j == 0)
return;
for (int i = 0 ; i < n ; i++)
if (nums[i] < 0)
result[j++] = nums[i];
// Copy contents to nums[]
memcpy(nums, result, sizeof(result));
}
int main()
{
int nums[] = {0, 9, -7, 2, -12, 11, -20};
int n = sizeof(nums)/sizeof(nums[0]);
cout << "Original array: ";
for (int i=0; i < n; i++)
cout << nums[i] <<" ";
segregateElements(nums, n);
printf("\nArray elements after rearrange: ");
for (int i=0; i < n; i++)
cout << nums[i] <<" ";
return 0;
}
Пример вывода:
Исходный массив: 0 9 -7 2 -12 11 -20 Элементы массива после перестановки: 0 9 2 11 -7 -12 -20
Блок - схема:
Редактор кода C ++:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите программу на C ++ для сортировки (в порядке убывания) массива различных элементов в соответствии с абсолютной разницей элементов массива и с заданным значением.
Далее: Напишите программу на C ++, чтобы найти число, которое встречается нечетное количество раз для данного массива натуральных чисел. В указанном массиве все числа встречаются четное количество раз.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования