Minggu 07 Kasus 6.5

Assalamualaikum..
Kali ini saya akan memposting program mencari modus dengan bahasa c++, materi berada pada ppt minggu ke-7 kasus 6.5. dan berikut adalah kodingannya

#include <iostream>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int x;
void modus(float bil[], int n, float mod[])
{
int total[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++)
{
total[c]=0;
for(int i=0;i<n;i++)
{
if(bil[c]==bil[i])
{
total[c]++;
}
}
}
//menentukan nilai yang paling sering muncul
for(int c=0;c<n;c++)
{
if(total[c]>k)
{
k=total[c];
}
}
//jika modus lebih dari satu
for(int c=0;c<n;c++)
{
if(x==0)
mod[x]=0;
else
mod[x]=mod[x-1];
if(total[c]==k)
{
if(bil[c]!=mod[x])
{
mod[x]=bil[c];
x++;
}
}
}
//Jika Semua angka muncul sama banyak
int z=0;
for(int c=0;c<n;c++)
{
if(total[c]==k)
{
z++;
}
}
if(z==n)
{
x=0;
}
}
int main(int argc, char** argv) {
   
    int z;
float bil[100];
float mod[100];
cout<<"\t\tProgram mencari modus dari banyak data N"<<endl<<endl;
cout<<"masukkan Banyak N : ";cin>>z;cout<<endl;
for(int c=0;c<z;c++)
{
cout<<"Nilai Ke- "<<(c+1)<<" : ";cin>>bil[c];
}
cout<<endl;
modus(bil,z,mod);
if (x==0)
cout<<"Tidak Ada Modus!"<<endl;
else
{
cout<<"Modus : ";
for(int c=0;c<x;c++)
{
cout<<mod[c]<<" ";
}
}
    return 0;
}
Dan ini adalah hasil setelah dirunning..
Add caption

Share this

Related Posts

Previous
Next Post »