Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม C++ เพื่อค้นหาโหมดในชุดข้อมูล


เป็นโปรแกรม C++ สำหรับค้นหา Mode ในชุดข้อมูล

อัลกอริทึม

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

ตัวอย่าง

#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;
}

ผลลัพธ์

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.