Find The Most Frequent Element in an Array
Written by
Finding the most frequently occurring element in an array is a fairly easy array application that can be used for multiple purposes. For instance, the most common marks scored by a class in a subject, or finding the mode of some ungrouped data.
This program is made easier by defining a function but can also be executed without one.
Algorithm
Step 1: Input size from the user.
Step 2: Input elements of the array.
Step 3: Define a function frequent_element taking the array and size as its parameters.
Step 4: Define a for loop to detect the repeated elements.
Step 5: Define another for loop to check if more than 1 element is repeated.
Step 6: Print the result.
Code:
#include<bits/stdc++.h>
using namespace std;
void frequent_element(int arr[], int n) {
int i, j, max_count = 0;
cout << "\nMost occurred number: ";
for (i = 0; i < n; i++) {
int count = 1;
for (j = i + 1; j < n; j++) if (arr[i] == arr[j]) count++; if (count > max_count)
max_count = count;
}
// this loop checks if there are more than one elements that are repeated
for (i = 0; i < n; i++) {
int count = 1;
for (j = i + 1; j < n; j++)
if (arr[i] == arr[j])
count++;
if (count == max_count)
cout << arr[i] << endl;
}
}
int main() {
int arr[100], n, i;
cout << "Enter size of the array: "; cin >> n;
cout << "\nEnter elements in the array: \n";
for (i = 0; i < n; i++) {
cout << "Enter Element " << i + 1 << ":"; cin >> arr[i];
}
cout << "Original array: ";
for (i = 0; i < n; i++)
cout << arr[i] << " ";
frequent_element(arr, n);
return 0;
}
Output:
Enter size of the array: 8
Enter elements in the array:
Enter Element 1: 3
Enter Element 2: 43
Enter Element 3: 2
Enter Element 4: 3
Enter Element 5: 21
Enter Element 6: 3
Enter Element 7: 43
Enter Element 8: 5
Entered Array: 3 43 2 3 21 3 43 5
Most occurred number: 3
Now, using the above-mentioned algorithm we shall create a program to accept ungrouped data and display the mode of the data.
Mode: It is a measure of central tendency used to describe some data, specifically categorical data. Mode refers to the element with the most frequent occurrence.
#include<bits/stdc++.h>
using namespace std;
void mode(int arr[], int n) {
int i, j, max_count = 0;
cout << "\nMode of the data: ";
for (i = 0; i < n; i++) {
int count = 1;
for (j = i + 1; j < n; j++) if (arr[i] == arr[j]) count++; if (count > max_count)
max_count = count;
}
// this loop checks if there are more than one elements that are repeated
for (i = 0; i < n; i++) {
int count = 1;
for (j = i + 1; j < n; j++)
if (arr[i] == arr[j])
count++;
if (count == max_count)
cout << arr[i] << endl;
}
}
int main() {
int arr[100], n, i;
cout << "Enter data size: "; cin >> n;
cout << "\nEnter data elements: \n";
for (i = 0; i < n; i++) {
cout << "[" << i << "]: "; cin >> arr[i];
}
cout << "Entered Data: ";
for (i = 0; i < n; i++)
cout << arr[i] << " ";
mode(arr, n);
return 0;
}
Output
Enter data size: 8
Enter data elements:
[0]: 45
[1]: 32
[2]: 34
[3]: 26
[4]: 55
[5]: 41
[6]: 55
[7]: 27
Entered Data: 45 32 34 26 55 41 55 27
Mode of the data: 55
To sum up, we found the most occurring element in an array using one of the array’s primary operations- array searching and using the algorithm provided, devised a code to find the mean of ungrouped data.