Program pencarian bilangan biner
#include <iostream>
#define UKURAN 15
void cetakHeader(void)
{ int i;
cout<<"\nSubscript : \n";
for (i=0;i<=UKURAN-1;i++) cout << i << " ";
cout << "\n";
for (i=1; i <= 4*UKURAN; i++) cout << "-";
cout << "\n";
}
void cetakBaris(int b[], int low, int mid, int high)
{ int i;
for (i=0; i<=UKURAN-1; i++)
if (i<low || i>high) cout << " ";
else if (i==mid) cout << "*" << b[i];
else cout << b[i] << " ";
cout << "\n";
}
int pencarianBiner(int b[], int kunciPencarian, int low, int high)
{ int i, middle;
while (low <= high) {
middle = (low+high) / 2;
cetakBaris(b, low, middle, high);
if (kunciPencarian == b[middle])
return middle;
else if (kunciPencarian < b[middle])
high = middle - 1;
else low = middle + 1;
}
return -1;
}
main() {
int a[UKURAN], i, kunci, hasil;
for (i=0; i<=UKURAN-1; i++) a[i] = 2*i;
cout << "Masukkan bilangan antara 0-28 : ";
cin >> kunci;
cetakHeader();
hasil=pencarianBiner(a,kunci,0,UKURAN-1);
if (hasil != -1) cout << kunci
<< " ditemukan pada posisi : "<< hasil;
else
cout << kunci << " tidak ditemukan";
return 0;
Kamis, 14 April 2016
Langganan:
Posting Komentar (Atom)
Refleksi minggu ke 2
Refleksi Pertemuan ke 2 Assalamu'alaikum w. wb., Selamat berjumpa lagi teman-teman, baik saya disini akan menuliskan tentang refl...
-
Assalamu'alaikum w. wb., Tak terasa sudah masuk semester 3 dan lanjut lagi untuk belajar struktur data. Yaitu lanjutan dari mata ku...
-
REFLEKSI MINGGU KE-13. Assalamu'alaikum w.w., Hari selasa tanggal 07 Juni 2016 Jam 07.00 WIB adalah perkuliahan ALPRO min...
-
Tuliskan perintah dibawah dengan menggunakan raptor: kemudian running program tersebut. Misal nilai pertama kita masukan 2 dan nilai kedu...
Tidak ada komentar:
Posting Komentar