Home

Modifikasi Contoh Program SEARCHING & SORTING


Pencarian sekuensial (sequential search) dapat diartikan secara sederhana sebagai pencarian secara berurutan suatu data di dalam sekumpulan data (misalnya data karakter atau angka). Perhatikan bahwa yang berurutan adalah cara pencariaannya, sementara sekumpulan data itu sendiri tidak perlu berurutan.
 
berikut tutorial memodidikasi program searching dan sorting:

Modifikasi Contoh Program searching dan sorting  sehingga jika di dalam array kumpul_angka[6]
terdapat lebih dari satu angka yang sama, maka yang dicari adalah angka yang kedua.
 

Script :

 #include <stdio.h>  
 #include <stdlib.h>  
 int main(void){  
      int kumpul_angka[6], angka, n, info, Y=1;  
      char yesno[2];  
      int pencarian1(int data[6], int dicari);// prototye  
      printf("masukan 6 angka sembarang: \n");  
      for(n=0;n<6;n++){  
           printf("index ke-%d=", n);  
           scanf("%d",&kumpul_angka[n]);  
      }  
      while(Y){  
           printf("masukan angka yang posisinya ingin dicari: \n");  
           scanf("%d", &angka);  
           info= pencarian1(kumpul_angka, angka);//memanggil fungsi cari  
           if(info==-1)// membandingan  
                printf("angka %d tidak ada pada array kumpul_angka\n", angka);  
           else  
                printf("angka %d yang kedua ada di array kempul_angka pada indeks ke-%d\n", angka, info);  
           printf("\nIngin mencari angka yang lain ? <y/n>"); scanf("%s",&yesno[0]);  
           if (yesno[0]=='Y'||yesno[0]=='y') Y=1;  
           else if (yesno[0]=='N'||yesno[0]=='n'||yesno[0]!='Y'||yesno[0]!='y') Y=0;  
      }  
      system("pause");  
      return 0;  
 }  
 int pencarian1 (int data[6], int dicari) {   
      int m=0, indeks, ada=0;   
      while(m<5 && !ada) {    
           if (data[m]==dicari)  {    
                ada=1;    
                indeks=m;   
                do{  
                m++;  
                if (data[m]==dicari){indeks=m; break;}  
                }while(m<5);  
           }  
           else m++;  
      }  
      if (ada==0)   
           indeks=-1;   
      return indeks;   
 }
 
output:    

0 komentar:

Posting Komentar