Devo fare la ricerca di un valore in un array ordinato con la Ricerca Uniforme. Il programma non mi funziona perchè non riesce a trovare un valore che gli do dentro cm x nell'array che in realtà c'è
codice:#include <stdio.h> #include <conio.h> #define dmax 100 int RicUnif(int*,int,int,int); int main(){ int vett[dmax]; int x,i,dim,ris; printf("Inserisci la dimensione del vettore: "); scanf("%d",&dim); for(i=0;i<dim;i++){ printf("Inserisci elemento %d: ",i+1); scanf("%d",&vett[i]); } printf("Inserisci il valore che vuoi ricercare: "); scanf("%d",&x); ris=RicUnif(vett,x,0,dim-1); if(ris){ printf("RIS: %d",ris); }else printf("NON TROVATO\n"); getch(); return 0; } int RicUnif(int *V,int a,int in,int fin){ int x; if(in>=fin || a<V[in] || V[fin]<a || V[in]==V[fin]) return in<=fin && in==V[in]; else{ x=in+(fin-in)*(in-V[in])/(V[fin]-V[in]); if(V[x]<a) in=x+1; else if(a<V[x]) fin=x-1; else in=fin=x; return RicUnif(V,a,in,fin); } }

Rispondi quotando
Che cosa volevi fare? non ho mai visto una cosa del genere :master:
