Saturday, April 16, 2016

Program C++ mencari modus dari N bilangan #6.5 (KK)

Tags

Algoritma Pemrograman


#include<iostream>
#include<conio.h>
#include<stdlib.h>

main ()

{
 int n,x=0,k=1;
 int banyak[100];
 float nilai[100];
 float modus[100];

 cout<<" Banyaknya N =  ";cin>>n;

 cout<<"==================================="<<endl;

 for(int i=0;i<n;i++)
  {
 cout<<"\nMasukkan data = ";cin>>nilai[i];
 
  }

 //untuk mengurutkan secara ascending
   cout<<"\n==================================="<<endl;
   for(int i=0;i<n;i++)
   {
     for(int j=(i+1);j<n;j++)
      {
       if(nilai[i]>nilai[j])
        {
         int tmp;
         tmp=nilai[i];
         nilai[i]=nilai[j];     //mengurutkan data
         nilai[j]=tmp;
        }
      }
      cout<<nilai[i]<<"  ";
   }

   //menghitung berapa kali muncul tiap angka
   for(int i=0;i<n;i++)
   {
    banyak[i]=0;
      for(int j=0;j<n;j++)
      {
       if(nilai[i]==nilai[j])
         {
          banyak[i]++;
         }
      }
   }

   //menentukan nilai yang paling sering muncul
   for(int i=0;i<n;i++)
 {
  if(banyak[i]>k)
  {
   k=banyak[i];
  }
    
 }

   //jika modus lebih dari satu
   for(int i=0;i<n;i++)
 {
  if(x==0)
   modus[x]=0;
  else
   modus[x]=modus[x-1];

  if(banyak[i]==k)
  {
   if(nilai[i]!=modus[x])
   {
    modus[x]=nilai[i];
    x++;
   }
  }
 }

   //Jika Semua angka muncul sama banyak
   int z=0;
   for(int i=0;i<n;i++)
  {
   if(banyak[i]==k)
   {
          z++;
   }
  }
   if(z==n)
  {
   x=0;
  }

 if (x==0)
  cout<<"\nTidak Ada Modus!"<<endl;
 else
  {
   for(int i=0;i<x;i++)
   {

            if(x>1)
              { for(int t=1;t<=x;t++)
             {cout<<"\nModus ada "<<t<<" = "<<endl;}}
            else
             {cout<< "\nModus hanya 1 = "<<endl;}

            cout<<modus[i]<<" ";
   }

  }
   getch();

}


Bagian lain : Ebook
4.1
4.2
4.3 
4.4 
4.6 


EmoticonEmoticon