Упражнения на C ++: отделяйте 0 и 1 от заданного массива значений 0 и 1
C ++ Array: Упражнение-14 с решением
Напишите программу на C ++, чтобы отделить 0 и 1 от заданного массива значений 0 и 1.
Пример решения:
Код C ++:
#include<iostream>
using namespace std;
void segregateEvenOdd(int nums[], int n)
{
int ctr = 0;
for (int i = 0; i < n; i++) {
if (nums[i] == 0)
ctr++;
}
for (int i = 0; i < ctr; i++)
nums[i] = 0;
for (int i = ctr; i < n; i++)
nums[i] = 1;
}
int main()
{
int nums[] = {0, 1, 0, 0 , 1, 1, 1, 0, 1, 0};
int n = sizeof(nums)/sizeof(nums[0]);
cout << "Original array: ";
for (int i=0; i < n; i++)
cout << nums[i] <<" ";
segregateEvenOdd(nums, n);
printf("\nArray after divided: ");
for (int i=0; i < n; i++)
cout << nums[i] <<" ";
return 0;
}
Пример вывода:
Исходный массив: 0 1 0 0 1 1 1 0 1 0 Массив после деления: 0 0 0 0 0 1 1 1 1 1
Блок - схема:
Редактор кода C ++:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите программу на C ++ для разделения четных и нечетных чисел массива целых чисел. Сначала ставьте все четные числа, а затем нечетные.
Далее: Напишите программу на C ++ для перестановки заданного отсортированного массива натуральных чисел.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code