Find The Most Frequent Element in an Array

Written by

Ananya Pandey

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.