Buatlah 100 data acak yang disimpan dalam sebuah array ! Lakukan pengurutan kepada sekumpulan data tadi dengan cara biasa dan menggunakan pointer ! catat berapa waktu yang dibutuhkan untuk masing-masing proses pengurutan!
#include <iostream>
#include <assert.h>
#include <time.h>
#include <stdio.h>
#include <cstring>
#include <conio.h>
using namespace std;
int data[10],data2[10];
int i;
int kata;
char val [100];
int validasi()
{
do
{
kata=0;
cin>>val;
for(int i=0; i<strlen(val); i++)
{
if(isdigit(val[i])==0)
kata++;
}
if(kata !=0)
cout<<"Input salah !\n"<<endl;
}
while(kata!=0);
return 0;
}
void bubble(int*ptr,int s){
int i,j;
int temp;
for(i=1;i<s;i++){
for(j=0;j<s-i;j++){
if(*(ptr+j)>*(ptr+j+1)){
temp=*(ptr+j);
*(ptr+j)=*(ptr+j+1);
*(ptr+j+1)=temp;
}
}
}
}
int main() {
clock_t start, stop;
double r = 0.0;
int size=100;
int data_angka[100];
int pilihan,t,j;
awal:
for (i=0; i<size; i++)
data_angka[i] = rand()%100;
cout<<"\t\t\tProgram pengurutan data acak\n";
cout<<"\t\t\t----------------------------\n";
cout<<"\nUrutan Data Acak\n";
cout<<endl;
for (i=0; i<size; i++) {
cout<<data_angka[i]<<"\t";
}
getch();
cout<<"\n1. Untuk pengurutan dengan metode biasa\n2. Untuk pengurutan dengan metode pointer\n";
cout<<"\n\tMasukkan Pilihan :";
validasi(); pilihan=atoi(val);
switch(pilihan){
case 1:{
/* Start timer */
assert((start = clock())!=-1);
for (i=0; i<100-1; i++) {
for (j=i+1; j<100; j++) {
if (data_angka[i]>data_angka[j]) {
t = data_angka[i];
data_angka[i] = data_angka[j];
data_angka[j] = t;
}
}
}
break;
}
case 2:{
/* Start timer */
assert((start = clock())!=-1);
bubble(data_angka,size);
break;
}
default :
cout<<"Pilihan tidak tersedia";
break;
}
cout<<"\n\nSetelah di sorting\n";
for(i=0;i<size;i++)
cout<<data_angka[i]<<"\t";
stop = clock();
r = (double) (stop-start)/CLOCKS_PER_SEC;
cout<<"\nWaktu pengurutan : "<<r;
getch();
cout << "\n\nApakah anda ingin mencoba lagi? jika ya tekan <1>, tidak tekan <2>." << endl;
cout << "\nPilihan anda : ";
validasi(); pilihan=atoi(val);
cout << endl;
if(pilihan==1) {
system("CLS");
goto awal;
}
else{
cout << "\nTerima Kasih Telah Menggunakan Program ini." << endl;
}
return 0;
}


0 comments:
Post a Comment