C Exercises: Find if a given integer x appears more than n/2 times in a sorted array of n integers
C Array: Exercise-48 with Solution
Write a program in C to find out if a given integer x appears more than n/2 times in a sorted array of n integers.
The program checks if a specified integer appears more than half the times in a sorted array. It counts the occurrences of the integer and compares it to half the length of the array, printing the result.
Visual Presentation:
Sample Solution:
C Code:
# include <stdio.h>
# include <stdbool.h>
// Function to check if 'x' appears more than n/2 times in arr1[]
bool ChkMajority(int arr1[], int arr_size, int x)
{
int i;
// Check if the last index is even or odd to decide the range
int last_index = arr_size % 2 ? (arr_size / 2 + 1) : (arr_size / 2);
for (i = 0; i < last_index; i++)
{
// Check if the element at current index and the corresponding element after mid point equals 'x'
if (arr1[i] == x && arr1[i + arr_size / 2] == x)
return true; // Return true if 'x' appears more than n/2 times
}
return false; // Return false if 'x' does not appear more than n/2 times
}
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 the given 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);
// Check if 'x' appears more than n/2 times in the array
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;
}
Sample Output:
The given array is : 1 3 3 5 4 3 2 3 3 The given value is : 3 3 appears more than 4 times in the given array[]
Flowchart:
C Programming Code Editor:
Previous: Write a program in C to find a subarray with given sum from the given array.
Next: Write a program in C to find majority element of an array.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://www.w3resource.com/c-programming-exercises/array/c-array-exercise-48.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics