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.
b. Jelaskan langkah-langkah pencarian nilai
71 dalam array tersebut dengan metode pencarian biner, sehingga
menghasilkan kesimpulan bahwa nilai tersebut tidak berhasil ditemukan.
Source Code:
#include <iostream>
#include <conio.h>
using namespace std;
int main(){
const int Ar[15] = {1,2,8,25,30,49,50,55,60,61,68,70,72,84,90}; // untuk proses ascending
int tar;
cout<<"masukan data yang dicari : ";
cin>>tar;
int awal=0, akhir=10, tengah;
while (awal <= akhir)
{ tengah = (awal + akhir)/2;
if (tar > Ar[tengah] ) // descending ubah tanda > menjadi <
{ awal = tengah + 1; }
else if (tar < Ar[tengah]) // descending ubah tanda < menjadi >
{akhir= tengah - 1;}
else {awal = akhir +1;
}
}
if (tar == Ar[tengah])
{cout<<" Data ditemukan, data berada di indeks ke-"<<tengah+1<<endl;
}
else {
cout<<"target tidak ditemukan "<<endl;
}
getch();
}
hasi c++
hasil compilernya
0 komentar:
Posting Komentar