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!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; }![]()
![]()
, ma fa ancora schifo la mia indentazione?

Rispondi quotando