#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
int n; //banyaknya data
const maks = 100; //maksimum banyaknya data
void cetak_judul();
void isi_data(int data[]);
void cetak_data(int data[]);
int cari_data(int data[],int x);
void main()
{
//buat variabel data
int data[maks];
cetak_judul();
cout << "Banyaknya data : "; cin >> n;
isi_data(data);
cetak_data(data);
int x; //data yg hendak dicari
char tanya;
do
{
cout << "Masukkan data yg hendak dicari : "; cin >> x;
int posisi = cari_data(data,x);
if (posisi == 0)
cout << "Data tidak ditemukan!!";
else
cout << "Data ditemukan pada posisi ke-" << posisi << endl;
cout << "Ingin cari lagi (y/t) : ";
tanya = getche();
cout << endl << endl;
} while (tanya != 't');
}
void cetak_judul()
{
cout << "Program Pencarian Data" << endl;
cout << "----------------------" << endl;
cout << endl;
}
void cetak_data(int data[])
{
for (int k=0; k<n; k++)
cout << (k+1) << ":" << data[k] << " ";
cout << endl;
}
void isi_data(int data[])
{
randomize();
for (int k=0; k<n; k++)
data[k] = random(100);
}
int cari_data(int data[], int x)
{
int posisi = 0; //data belum ditemukan
int k = 0; //posisi data awal
do
{
if (data[k] == x) //apakah data ke-k adalah data yg dicari?
{
//jika benar maka set posisi = k+1 dan selesai
posisi = k+1;
}
else
{
//jika tidak, lanjutkan pencarian ke data berikutnya
k++;
}
} while ( (k<n) && (posisi==0) ); //cari selama data blm habis dan belum ditemukan
return posisi;
}
No comments:
Post a Comment