Please note, this is a STATIC archive of website www.tutorialspoint.com from 11 May 2019, cach3.com does not collect or store any user information, there is no "phishing" involved.
Tutorialspoint

1 Answer
Samual Sam

This is a C++ program to find the Mode in a data set.

Algorithms

Begin
   function insertinset() to insert data in the set.
   Create newnode and temp(t) node.
   Node to be inserted in the list using newnode.
   If head is null then
      assign new node to head and increase the count.
   During insertion perform insertion sort for sorting data.
   If the newnode->data is equal to any of the element present in the set,
      then just increment count.
End

Example

#include <iostream>
using namespace std;
struct set // a structure set to declare variables
{
   int data;
   int cnt;
   set *n;
};
set* insertinset(set *head, int n) {
   set *newnode = new set; //to use structure set’s variables.
   set *t = new set;
   newnode->data = n;
   newnode->cnt = 0;
   newnode->n = NULL;
   if(head == NULL) {
      head = newnode;
      head->cnt++;
      return head;
   } else {
      t = head;
      if(newnode->data < head->data) {
         newnode->n = head;
         head = newnode;
         newnode->cnt++;
         return head;
      } else if(newnode->data == head->data) {
         head->cnt++;
         return head;
      }
      while(t->n!= NULL) {
         if(newnode->data == (t->n)->data) {
            (t->n)->cnt++;
            return head;
         }
         if(newnode->data < (t->n)->data)
            break;
         t=t->n;
      }
      newnode->n = t->n;
      t->n = newnode;
      newnode->cnt++;
      return head;
   }
}
int main() {
   int n, i, num, max = 0, c;
   set *head = new set;
   head = NULL;
   cout<<"\nEnter the number of data element to be sorted: ";
   cin>>n;
   for(i = 0; i < n; i++) {
      cout<<"Enter element "<<i+1<<": ";
      cin>>num;
      head = insertinset(head, num); //call the function
   }
   cout<<"\nSorted Distinct Data ";
   while(head != NULL) // if head is not equal to null
   {
      if(max < head->cnt) {
         c = head->data;
         max = head->cnt;
      }
      cout<<"->"<<head->data<<"("<<head->cnt<<")"; //return the count of the data.
      head = head->n;
   }
   cout<<"\nThe Mode of given data set is "<<c<<" and occurred "<<max<<" times.";
   return 0;
}

Output

Enter the number of data element to be sorted: 10
Enter element 1: 1
Enter element 2: 2
Enter element 3: 0
Enter element 4: 2
Enter element 5: 3
Enter element 6: 7
Enter element 7: 6
Enter element 8: 2
Enter element 9: 1
Enter element 10: 1
Sorted Distinct Data ->0(1)->1(3)->2(3)->3(1)->6(1)->7(1)
The Mode of given data set is 1 and occurred 3 times.

Advertisements

We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy.