кодесурса
«C

Упражнения C: Удвойте свое значение и замените следующее число на 0, если текущее и следующее значение совпадают, и сдвиньте все 0 в конец

script1adsense2code
script1adsense3code

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

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

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

Код C:

#include<stdio.h> 
void ZerosAtEnd(int arr1[], int n) 
{ 
    int ctr = 0; 
    for (int i = 0; i < n; i++) 
        if (arr1[i] != 0) 
            arr1[ctr++] = arr1[i]; 
    while (ctr < n) 
        arr1[ctr++] = 0; 
} 
void updateArrayRearrange(int arr1[], int n) 
{ 
    if (n == 1) 
        return; 
    for (int i = 0; i < n - 1; i++) 
	{ 
        if ((arr1[i] != 0) && (arr1[i] == arr1[i + 1])) 
		{ 
            arr1[i] = 2 * arr1[i]; 
            arr1[i + 1] = 0; 
            i++; 
        } 
    } 
    ZerosAtEnd(arr1, n); 
} 
void ArrayPrinting(int arr1[], int n) 
{ 
    for (int i = 0; i < n; i++) 
        printf("%d  ",arr1[i]); 
} 
  
int main() 
{ 
    int arr1[] = { 0, 3, 3, 3, 0, 0, 7,7, 0, 9 }; 
    int n = sizeof(arr1) / sizeof(arr1[0]); 
    printf("The given array is:  "); 
    ArrayPrinting(arr1, n); 
    updateArrayRearrange(arr1, n); 
    printf("\nThe new array is: "); 
    ArrayPrinting(arr1, n); 
    return 0; 
}

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

 Данный массив: 0 3 3 3 0 0 7 7 0 9  
Новый массив: 6 3 14 9 0 0 0 0 0 0  

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

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

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

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

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

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

Предыдущий: Напишите программу на C, чтобы найти минимальное количество перестановок, необходимое для сбора всех элементов, меньших или равных k.
Следующая: C Указатель Упражнения Home

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


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code