Cute Finding Nemo

Rabu, 13 April 2016

Diktat Alpro bab 8 - Latihan No.2a

#Diktat Alpro bab 8 - Latihan No.2a

Jika terdapat sebuah array yang elemennya berindeks 1 sampai dengan 15. Masing-masing
elemen berturut-turut berisi nilai sebagai berikut:
1, 2, 8, 25, 30, 49, 50, 55, 60, 61, 68, 70, 72, 84, 90.
a. Jelaskan langkah-langkah pencarian nilai 49 dalam array tersebut dengan metode
pencarian biner, sehingga menghasilkan indeks elemen array tempat ditemukannya nilai
tersebut.

Program:
#include <iostream>
#include <stdio.h>
#include <conio.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {
    {
   int A[10],i,j,k,tkr,top,bottom,middle,tm;

   for(i=0; i<10; i++)
   {
    printf("Data ke-%d : ", i+1);
      scanf("%d", &A[i]);
   }
   printf("Masukkan data yang akan dicari : ");
   scanf("%d",&k);

   for(i=0; i<10; i++)
   {
     for(j=i+1; j<10; j++)
      {
        if(A[i]>A[j])
         {
           tkr=A[i];
            A[i]=A[j];
            A[j]=tkr;
         }
      }
   }

   tm=0;
   top=9;
   bottom=0;
   while(top>=bottom)
   {
     middle=(top+bottom)/2;
      if(A[middle]==k)
      {
        tm++;
      }
      if(A[middle]<k)
      {
        bottom=middle+1;
      }
      else
      {
        top=middle-1;
      }
   }

   if(tm>0)
   {
     printf("Data %d yang dicari ada dalam array\n",k);
   }
   else
   {
     printf("Data tidak diketemukan dalam array\n");
   }
}
    return 0;
}

0 komentar:

Posting Komentar