#include <iostream>using namespace std;int findMode(int[], int);int main(){ int arrOrig[30]; cout << "30 Pie Values Will Be Entered\n"; for (int i = 0; i < 30; i++) { cout << "Please enter Value " << i+1 << ": "; cin >> arrOrig; } cout << "The mode is " << findMode(arrOrig, 30) << endl; return 0;}int findMode(int *original, int num){ int *valArray = new int[num]; int *quantArray = new int[num]; int mode; int valCounter = 0; for (int i = 0; i < num; i++) // Check each value in array { if (i == 0) // First value { valArray = original; quantArray++; valCounter++; continue; } for (int j = i; j < num; j++) // For each element { for (int k = 0; k < valCounter; k++) // Check already tracked { if (original[j] == valArray[k]) // If already checked { quantArray[k]++; // Increment break; } else { valArray[valCounter] = original[j]; // Add val valCounter++; } } } } mode = quantArray[0]; for (int m = 0; m < valCounter; m++) { if (quantArray[m] > mode) { mode = valArray[m]; } } return mode;}My approach was to have three arrays:
1. original: Stores the 30 data entries originally inputed.
2. valArray: Stores the unique entries in the original array.
3. quantArray: Parallel array to valArray that stores the number of times that particular corresponding value in valArray exists in the original array.
It seems a little bit convoluted, but I have been given no clear guidance or algorithm to complete this.... it is to me a new and original approach. Thank you all in advance again :]