Упражнения на Си: разделение 0 и 1 в массиве
C Массив: Упражнение-95 с раствором
Напишите программу на C для разделения 0 и 1 в массиве.
Пример решения:
Код C:
#include <stdio.h>
void segZeroAndOne(int arr1[], int n)
{
int ctr = 0;
for (int i = 0; i < n; i++) {
if (arr1[i] == 0)
ctr++;
}
for (int i = 0; i < ctr; i++)
arr1[i] = 0;
for (int i = ctr; i < n; i++)
arr1[i] = 1;
}
void printSegre(int arr1[], int n)
{
printf("The array after segregation is: ");
for (int i = 0; i < n; i++)
printf("%d ",arr1[i]);
}
int main()
{
int arr1[] = { 1, 0, 1, 0, 0, 1, 0, 1, 1 };
int n = sizeof(arr1) / sizeof(arr1[0]);
int i;
//------------- print original array ------------------
printf("The given array is: \n");
for(i = 0; i < n; i++)
{
printf("%d ", arr1[i]);
}
printf("\n");
//-----------------------------------------------------------
segZeroAndOne(arr1, n);
printSegre(arr1, n);
return 0;
}
Пример вывода:
Данный массив: 1 0 1 0 0 1 0 1 1 Массив после разделения: 0 0 0 0 1 1 1 1 1
Блок - схема:
Редактор кода программирования C:
Улучшите этот пример решения и опубликуйте свой код через Disqus.
Предыдущий: Напишите программу на C, чтобы найти максимум для каждого подходящего подмассива размера k из данного массива.
Далее: Напишите программу на C для разделения четных и нечетных элементов в массиве.
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code