кодесурса
«C

Упражнения на C: Найти, если данное целое число x встречается более n / 2 раз в отсортированном массиве из n целых чисел

script1adsense2code
script1adsense3code

C Array: Упражнение-48 с решением

Напишите программу на C, чтобы определить, встречается ли данное целое число x более чем в n / 2 раза в отсортированном массиве из n целых чисел.

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

«C

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

Код C:

# include <stdio.h>
# include <stdbool.h>
 
bool ChkMajority(int arr1[], int arr_size, int x)
{
    int i;
    int last_index = arr_size%2? (arr_size/2+1): (arr_size/2);		// check last index even or odd
    for (i = 0; i < last_index; i++)
    {
        if (arr1[i] == x && arr1[i+arr_size/2] == x)
            return 1;
    }
    return 0;
}
int main()
{
     int arr1[] ={1, 3, 3, 5, 4, 3, 2, 3, 3};
     int arr_size = sizeof(arr1)/sizeof(arr1[0]);
     int x = 3,i;
 //------------- print original array ------------------	
	printf("The given array is :  ");
	for(i = 0; i < arr_size; i++)
	{
	printf("%d  ", arr1[i]);
    } 
	printf("\n");
	printf("The given value is :  %d\n",x);	
//------------------------------------------------------ 	 
	 
     if (ChkMajority(arr1, arr_size, x))
        printf("%d appears more than %d times in the given array[]",x, arr_size/2);
     else
        printf("%d does not appear more than %d times in the given array[]", x, arr_size/2);
 
   return 0;
}

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

 Данный массив: 1 3 3 5 4 3 2 3 3  
Данное значение: 3
3 появляется более 4 раз в данном массиве []

Блок - схема:

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

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

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

Previous: написать программу на C, чтобы найти подмассив с заданной суммой из заданного массива.
Далее: написать программу на C, чтобы найти мажоритарный элемент массива.

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

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


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code