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