codice:
#include <stdio.h>
#define dim 100
void leggivet (int a[], int n);
int ricercaRicorsiva (int a[], int inf, int sup, int x);
int main(){
int a[dim], x, n, inf, sup;
leggivet(a, n);
printf("numero da ricercare = ");
scanf("%d", &x);
printf("%d\n", ricercaRicorsiva (a, inf, sup, x));
system ("pause");
return 0;
}
void leggivet(int a[], int n){
int i;
printf("inserire dimensioni vettore (max %d) = ", dim);
scanf("%d", &n);
for(i=0;i<n;i++){
printf("a[%d]= ", i);
scanf("%d", &a[i]);
}
}//fine leggivet
int ricercaRicorsiva (int a[], int inf, int sup, int x){
int med, n;
int trovato;
inf=0;
sup=&n-1;
if(inf>sup)
trovato=0;
else {
med=(inf+sup)/2;
if(x==a[med])
trovato=1;
if (x>a[med])
trovato = ricercaRicorsiva(a, med+1, sup, x);
else if (x<a[med])
trovato = ricercaRicorsiva(a, inf, med-1, x);
}
return trovato;
}
RISOLTO...avevi ragione ingnà, bisognava inizializzarli...ma anche dargli l'indirizzo della "n". Inizia ad essere tutto molto più chiaro questo linguaggio che inziavo ad odiare!
, ma fa ancora schifo la mia indentazione?