latest Post

Program Pengurutan Data Acak dengan biasa pointer beserta validasi pada C++


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;
} 
   



About Unknown

Unknown
Recommended Posts × +

0 comments:

Post a Comment