Преобразовать массив так, чтобы сначала располагались все элементы, равные нулю, а затем все остальные - C (СИ)
Формулировка задачи:
Дан одномерный массив состоящий из n вещественных элементов.Преобразовать массив таким образом,что бы сначала располагались все элементы ,равные нулю,а затем все остальные.
Помогите пожалуйста
Решение задачи: «Преобразовать массив так, чтобы сначала располагались все элементы, равные нулю, а затем все остальные»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#define N 20
int main(void)
{
int i, j=0, a[N];
for(i=0; i<N; i++)
{
a[i]=rand()%8;
printf(" %d", a[i]);
}
printf("\n\n");
for (i=0; i<N; i++)
{
if (!a[i])
{
a[i]=a[j];
a[j]=0;
j++;
}
}
for (i=0; i<N; i++) printf(" %d", a[i]);
}
Объяснение кода листинга программы
В данном коде решается задача по сортировке массива. В начале программы создается массив из 20 элементов, и каждый элемент заполняется случайным числом от 0 до 7. Далее, с помощью двух циклов, сначала все элементы, равные нулю, собираются в начале массива, а затем все остальные элементы располагаются после них. В конце программы все элементы массива выводятся на экран.