raga questo è il mio algoritmo della ricerca con sentinella ecco a voi:
PHP Code:
//ricerca con sentinella
#include <st***.h>
int ricerca(int[],int,int);
void acquis(int[],int);
int main()
{
int vet[10],size,mister_x,ris;
size=10;
acquis(vet,size-1);// la ricerca con sentinella riempio fino a size -1 e in posizione size ho la sentinella
printf("inserisci il numero da cercare\n");
scanf("%d",&mister_x);
ris=ricerca(vet,size,mister_x);
if(ris<0)
{
printf("elemento non trovato\n");
}
else
printf("numero presente in posizione %d\n",ris);
return 0;
}
void acquis(int vet[],int size){
int *p_vet,i=0;
p_vet=vet;
for(i=0;i<=size;i++){
printf("inserisci l'elemento %d\n",i);
scanf("%d",(p_vet+i));
}
}
int ricerca(int vet[],int size,int sei_davvero_tu){
int i;
vet[size]=sei_davvero_tu;// piazzo la sentinella
for(i=0;i<size;i++){
if(vet[i]==sei_davvero_tu)
return i+1;//ho trovato l'elemento e lo restituisco
}
return -1; // non c'è l'elemento :-(
}