кодесурса
«C

Упражнения C: переместить все нули в конец данного массива

script1adsense2code
script1adsense3code

C Массив: упражнение-58 с решением

Напишите программу на C, чтобы переместить все нули в конец данного массива.

Иллюстрированная презентация:

«C

Пример решения:

Код C:

#include <stdio.h>
 
void PickOutZeros (int *arr1, int arr_size)
{
    int tmp, lft = 0, rgt = arr_size-1;
    while(rgt > lft)
	{
     while(arr1[lft] != 0)
         lft++;
     while(arr1[rgt] == 0)
         rgt--;
     if(lft < rgt)
	 {
            tmp = arr1[lft];
            arr1[lft] = arr1[rgt];
            arr1[rgt] = tmp;
        }
    }
}
 
int main()
{
    int arr1[] = {2, 5, 7, 0, 4, 0, 7, -5, 8, 0};
   int n = sizeof(arr1)/sizeof(arr1[0]);
   int i;
    //------------- print original array ------------------	
	printf("The given array is :  ");
	for(i = 0; i < n; i++)
	{
	printf("%d  ", arr1[i]);
    } 
	printf("\n");
//------------------------------------------------------ 
    PickOutZeros(arr1, n);
	printf("The new array is: \n");
    for(i = 0; i < n; i++)
	{
     printf("%d ", arr1[i]);
    }
    return 0;
}

Пример вывода:

 Данный массив: 2 5 7 0 4 0 7 -5 8 0  
Новый массив: 
2 5 7 8 4 -5 7 0 0 0 

Блок - схема:

«Блок-схема:

Редактор кода программирования C:

Улучшите этот пример решения и опубликуйте свой код через Disqus.

Previous: написать программу на C, чтобы найти минимальный элемент в отсортированном и повернутом массиве.
Далее: Напишите программу на C, чтобы она возвращала счетную сортировку в массиве.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code