yang ane share ini masih menggunakan cara brute force,yang anak IT bilang itu cara bodoh nya hehehe....
#include <iostream>
#include<iomanip>
using namespace std;
int main(int argc, char** argv) {
int kiri[100],kanan[100],i,kidal1[100],kidal2[100],n,j,b[100],tmp;
cout<<"masukan banyak data = ";cin>>n;
for(i=1;i<=n;i++){
cout<<"masukan nilai kiri yang ke"<<i<<" = ";cin>>b[i];
}
cout<<"\n"<<setw(4)<<"kiri"<<setw(5)<<"= ";
for(i=1;i<=(n/2);i++){
kiri[i]=b[i];
cout<<kiri[i]<<" ";
}
cout<<"\n"<<setw(5)<<"kanan"<<setw(4)<<"= ";
for(i=(n/2)+1;i<=n;i++){
kanan[i]=b[i];
cout<<kanan[i]<<" ";
}
//proses urutan yang sebelah kiri
for(i=0;i<=n/2;i++){
for(j=i+1;j<=n/2;j++){
if(b[i]>b[j]){
tmp=b[i];
b[i]=b[j];
b[j]=tmp;
}
// kiri[i]=b[i];
}
}
//proses urutan yang sebelah kanan
for(i=(n/2)+1;i<=n;i++){
for(j=i+1;j<=n;j++){
if(b[i]>b[j]){
tmp=b[i];
b[i]=b[j];
b[j]=tmp;
}
// kanan[i]=b[i];
}
}
//menampilkan urutan yang kiri
cout<<"\n"<<setw(4)<<"kiri"<<setw(5)<<"= ";
for(i=1;i<=n/2;i++){
//cout<<kiri[i];
cout<<b[i]<<" ";
}
//menampilkan urutan yang kanan
cout<<"\n"<<setw(4)<<"kanan"<<setw(4)<<"= ";
for(i=(n/2)+1;i<=n;i++){
// cout<<kanan[i];
cout<<b[i]<<" ";
}
//proses urutan keseluruhan
for(i=1;i<=n;i++){
for(j=i+1;j<=n;j++){
if(b[i]>b[j]){
tmp=b[i];
b[i]=b[j];
b[j]=tmp;
}
// kanan[i]=b[i];
}
}
//menampilkan urutan keseluruhan
cout<<"\n"<<setw(4)<<"semua"<<setw(4)<<"= ";
for(i=1;i<=n;i++){
// cout<<kanan[i];
cout<<b[i]<<" ";
}
return 0;
}
hasil jadi nya ntar seperti ini
masukan banyak data = 8
masukan nilai kiri yang ke1 = 9
masukan nilai kiri yang ke2 = 2
masukan nilai kiri yang ke3 = 4
masukan nilai kiri yang ke4 = 3
masukan nilai kiri yang ke5 = 5
masukan nilai kiri yang ke6 = 7
masukan nilai kiri yang ke7 = 6
masukan nilai kiri yang ke8 = 8
kiri = 9 2 4 3
kanan = 5 7 6 8
kiri = 2 3 4 9
kanan = 5 6 7 8
semua = 2 3 4 5 6 7 8 9
--------------------------------
Process exited with return value 0
Press any key to continue . . .
0 comments:
Post a Comment