Make your own free website on Tripod.com

AMALI 3
Soalan: Berdasarkan algoritma (a) Carian Linear dan (b) Carian Dedua, bina aturcara lengkap untuk menunjukkan perbezaan di antara kedua-dua teknik caraian ini.

#include<stdio.h>
#include<conio.h>
#define n 10

int main(void) {
int DATA[n], loc, item;

printf("Berikan nilai item yang ingin cari: ");
scanf("%d",&item);

DATA[n+1]=item;
loc=1;

while (DATA[loc] != item) {
loc++;
}

if (loc == n+1) loc = 0;
printf("Lokasi item data: %d", loc);

getch();
return 0;
}

[ Source code: (b) Carian Dedua ]

#include<stdio.h>
#include<conio.h>
#define n 10

int main(void) {
int item, DATA[n], mula, akhir, UB=10, LB=0, ten, loc;

mula = LB;
akhir = UB;
ten = (mula + akhir) / 2;

while ((mula <= akhir) && (DATA[ten] != item)) {
if (item < DATA[ten]) mula = ten+1;
else mula = ten+1;
}

ten = (mula + akhir) / 2;

if (DATA[ten] == item) loc = ten;
else loc = 0;

getch();
return 0;
}