#include<iostream.h>
#include<conio.h>
int x;
void cari_modus(float bil[], int n, float modus[])
{
int banyak[100];
int k=1;
x=0;
//untuk mengurutkan secara ascending
for (int c=0;c<n;c++)
{
for (int i=(n-1);i>=0;i--)
{
if ( bil[i] < bil[i-1])
{
int temp;
temp=bil[i];
bil[i]=bil[i-1];
bil[i-1]=temp;
}
}
}
//menghitung berapa kali muncul tiap angka
for ( int c=0;c<n;c++)
{
banyak[c]=0;
for (int i=0;i<n;i++)
{
if(bil[c]==bil[i])
{
banyak[c]++;
}
}
}
//menentukan nilai yang paling sering muncul
for (int c=0;c<n;c++)
{
if (banyak[c]>k)
{
k=banyak[c];
}
}
//jika modus lebih dari satu
for (int c=0;c<n;c++)
{
if (x==0)
modus[x]=0;
else
modus[x]=modus[x-1];
if(banyak[c]==k)
{
if (bil[c]!=modus[x])
{
modus[x]=bil[c];
x++;
}
}
}
//Jika Semua angka muncul sama banyak
int z=0;
for (int c=0;c<n;c++)
{
if (banyak[c]==k)
{
z++;
}
}
if (z==n)
{
x=0;
}
}
void main()
{
int n;
float bil[100];
float modus[100];
cout<<"Banyak N : ";
cin>>n;
for (int c=0;c<n;c++)
{
cout<<"Nilai "<<(c+1)<<" : ";
cin>>bil[c];
}
cout<<endl;
cari_modus (bil,n,modus) ;
if (x==0)
cout<<"Tidak Ada Modus!"<<endl;
else
{
cout<<"Modus : ";
for (int c=0;c<x;c++)
{
cout<<modus[c]<<" ";
}
}
getch();
}
0 komentar:
Posting Komentar