Dalam pencarian sentinel, ada elemen fiktif yang ditambahkan ke dalam larik. Nantinya di dalam program, akan ditambahkan elemen yang dicari sebagai elemen ke (n+1). Setiap elemen larik, nantinya akan dicocokkan ke elemen ke-(n+1) ini. Apabila nantinya elemen itu ada yang sama dengan elemen fiktif tersebut maka akan disebutkan bahwa elemen ditemukan di posisi sekian. Sementara bila ditemukan di posisi ke (n+1) artinya elemen tersebut tidak ada di dalam larik.
//sentinel cpp
#include<iostream>
using namespace std;
int main()
{
char ulang;
int a[4],x,indeks;
do{
for(indeks=1;indeks<=4;indeks++)
{
cout<<"Masukkan elemen ke-"<<indeks<<": ";
cin>>a[indeks];
}
cout<<"Masukkan elemen yang Anda cari: ";
cin>>x;
a[4]=x;
indeks=0;
{
indeks++;
}while(x!=a[indeks]);
if(indeks<4)
{
cout<<"Elemen ditemukan pada posisi "<<indeks<<endl;
}
else
{
cout<<"Elemen tidak ditemukan pada larik\n";
}
cout<<"Masih ingin mencoba?(Y/T)";
cin>>ulang;
}while(ulang=='Y'||ulang=='y');
cin.get();
}
Hasil eksekusinya:
1 Comments
masih salah ni gan
ReplyDelete