22.01.2013 Views

TT algoritmusok szoveg v014.pdf

TT algoritmusok szoveg v014.pdf

TT algoritmusok szoveg v014.pdf

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

*KERESES 1x1*/<br />

/* Csak szekvenciális keresés: egyszer keresi az elsı egyezést.<br />

Helyes kérdés: Van-e vagy sincs legalább egy megfelelı érték a<br />

tönbben? */<br />

#include <br />

#define DB 50 /*Maximlis tombméret amiben keresünk*/<br />

typedef int itomb[DB+1];<br />

typedef int ibuff;<br />

void olvas_int(itomb x, int *m);<br />

int seq_keres(itomb, int, ibuff);<br />

int bin_keres(itomb, int, ibuff );<br />

int main()<br />

{<br />

itomb y;<br />

int n, j, k, t;<br />

ibuff adat;<br />

olvas_int(y,&n);<br />

printf("\nSzekvencialis kereses\n");<br />

printf("adat : "); scanf("%d",&adat);<br />

t = seq_keres(y,n,adat);<br />

if(t >= 0)<br />

printf("%d helye %d\n",adat,t);<br />

else printf("%d hibas adat!\n",adat);<br />

}<br />

fflush(stdin);getchar();<br />

return 0;<br />

void olvas_int(itomb x, int *m)<br />

{<br />

int i;<br />

printf("Egesz tipusu adatok beolvasasa\n");<br />

do<br />

{<br />

printf("Az adatok szama, max=%i : ",DB); scanf("%d",m);<br />

if (*m > DB) printf("Az adatok max. szama : %d ",DB);<br />

}<br />

while (*m < 2 || *m > DB);<br />

}<br />

for ( i = 0; i < *m; i++)<br />

{<br />

printf(" [%2d] = ",i); scanf("%d",&x[i]);<br />

}<br />

int seq_keres(itomb x, int m, ibuff adat)<br />

{<br />

int i = 0;<br />

while ( adat != x[i] && i < m ) { i = i+1; }<br />

if (i >= m) return -1;<br />

else return i;<br />

ALGORITMUSOK: Informatika 1. Laborgyakorlat; Összeállította: Dr Tuzson Tibor docens<br />

20/38

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!