typedef struct
{ int isi[101]; /*penampung elemen tabel*/
int len; /*banyak elemen yang dipakai*/
}TabInt;
typedef enum {
false,
true
}boolean;
/*procedure Buat(output T:TabInt)*/
void Buat(TabInt *T);
/*procedure Entri(input/output T:TabInt, input N:integer)*/
void Entri(TabInt *T, int N);
/*procedure Cetak(input T:TabInt)*/
void Cetak(TabInt T);
/*procedure SeqSearchX1(input T : TabInt, input x : integer, outpout IX : integer)*/
void SeqSearchX1(TabInt T, int x, int *IX);
void SeqSearch2(TabInt T, int x, int *IX);
main()
{ /*kamus*/
TabInt A;
int posisi;
/*ALGORITMA*/
clrscr();
Buat(&A);
Entri(&A,5);
Cetak(A);
SeqSearchX1(A, 2, &posisi);
printf("\nSeqSearchX1");
printf("\nindeks pencarian = %d", posisi);
SeqSearch2(A, 4, &posisi);
printf("\nSeqSearch2");
printf("\nindeks pencarian = %d", posisi);
getch();
return 0;
}
/*BODY PROTOTIPE*/
void Buat(TabInt *T)
{ /*kamus lokal*/
int i;
/*algoritma*/
for(i=1;i<=100;i++)
{ (*T).isi[i] = 0;
}
}
void Entri(TabInt *T, int N)
{ /*kamus lokal*/
int i;
/*algoritma*/
(*T).len = N;
for(i=1;i<=(*T).len;i++)
{ printf("\nelemen ke-%d : ",i);
scanf("%d",&(*T).isi[i]);
}
}
void Cetak(TabInt T)
{ /*kamus lokal*/
int i;
/*algoritma*/
for(i=1;i<=(T).len;i++)
{ printf("\nelemen ke-%d = %d",i,(T).isi[i]);
}
}
void SeqSearchX1(TabInt T, int x, int *IX)
{ /*kamus lokal*/
int i;
/*algoritma*/
i=1;
while(i
i++;
}
/**/
if(T.isi[i]==x)
{
*IX=i;
}
else
{
*IX=0;
}
}
void SeqSearch2(TabInt T, int x, int *IX)
{
/*kamus lokal*/
int i;
boolean ketemu;
/*algoritma*/
ketemu=false;
i=1;
while(i<=T.len && !ketemu)
{
if(T.isi[i]==x)
{ ketemu = true;
}
else
{i++;}
}
if(ketemu)
{*IX=i;}
else
{*IX=0;}
}
Tidak ada komentar:
Posting Komentar