Contoh sederhana program C++ untuk mengolah data
numerik dengan cara mengurutkan data, mendapatkan data kuartilnya dan menemukan
data yang ingin dicari.
#include
<iostream.h>
#include
<conio.h>
#include
<math.h>
int
bin_search(int A[50],int n,int c);
void
main()
{int
A[50],n,i,j,q1,q2,q3,temp,c,a=0,posisi;
cout<<"Masukkan
Jumlah Data Anda = "; cin>>n;
cout<<endl;
cout<<"Masukkan
Data anda : "<<endl<<endl;
for(i=0;i<n;i++)
{ cout<<"Data ke
"<<i+1<<" = "; cin>>A[i];
}
cout<<endl;
cout<<"Data
yang telah masuk : ";
for(i=0;i<n;i++)
{ cout<<A[i]<<" ";
}
for(i=0;i<n;i++)
{ for(j=0;j<n;j++)
{
if(A[i]<A[j])
{
temp=A[i];
A[i]=A[j];
A[j]=temp;
}
}
}
cout<<endl<<endl;
cout<<"Data
Anda yang telah terurut : ";
for(i=0;i<n;i++)
{ cout<<A[i]<<" ";
}
cout<<"
"<<endl;
if(n%2!=0)
{ q2=A[(n)/2];
if((n+1)%4==0)
{q1=A[(n)/4];
q3=A[3*(n)/4];}
if((n+1)%4!=0)
{q1=(A[(n-1)/4-1]+A[(n-1)/4])/2;
q3=(A[n-(n-1)/4]+A[n-1-(n-1)/4])/2;}
}
if(n%2==0)
{
q2=(A[(n-1)/2]+A[((n-1)/2)+1])/2;
if(n%4==0)
{q1=A[(n-1)/4];
q3=A[n-1-((n-1)/4)];}
if(n%4!=0)
{q1=(A[(n-1)/4]+A[((n-1)/4)-1])/2;
q3=(A[n-(n-1)/4]+A[n-1-(n-1)/4])/2;}
}
cout<<endl;
cout<<"Data
Kuartil : "<<endl;
cout<<"Q1
= "<<q1<<endl;
cout<<"Q2
= "<<q2<<endl;
cout<<"Q3
= "<<q3<<endl;
cout<<"
"<<endl;
cout<<"Masukkan
Data yang Ingin Anda cari : "; cin>>c;
cout<<endl<<endl;
posisi=bin_search(A,n,c);
if(posisi!=-1)
{cout<<"Data
"<<c<<" terdapat pada array
["<<posisi<<"] pada deret ke "<<posisi+1<<endl;}
else
cout<<"Data tidak
ditemukan"<<endl;
getch();
}
int
bin_search(int A[50],int n,int c)
{
int start=0,end=n-1,med,letak=-1;
med=(start+end)/2;
do
{ if(c<A[med])
{ end=med-1;}
if(c>A[med])
{ start=med+1;}
med=(start+end)/2;
}
while(start<=end&&A[med]!=c);
if(A[med]==c)
letak=med;
return letak;
}
error kak
BalasHapus