Implementazioni di algoritmi/Ricerca dicotomica: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Riga 34:
int ricercaBinaria(int lista[], int x, int a, int z ) {
int mi=10/2;
int sup,n=0,inf;
// Determina l'elemento centrale
printf("\nInserisci il valore da cercare: ");
m = ( a + z ) / 2;
scanf("%d",&n);
sup=9;
if ( m < a || z < 0 ) {
inf=0;
// l'elemento cercato non c'è
if(n>1909 || n<1903)
return -1;
{
} else if ( x < lista[m] ) {
printf("\n[Valore non trovato!]");
// Si ripete la ricerca nella parte inferiore
}
return ricercaBinaria( lista, x, a, m-1 );
else
} else if ( x > lista[m] ) {
{
// Si ripete la ricerca nella parte superiore
while(sup>inf+1)
return ricercaBinaria( lista, x, m+1, z );
{
} else {
if(a[i].nascita==n)
// m rappresenta l'indice dell'elemento cercato
{
return m;
printf("Valore trovato nella posizione %d!\n", i-1);
}
if(a[i].nascita>n)
{
sup=i;
i=sup-(sup-inf)/2;
printf("sup: %d\n inf: %d\n", sup, inf);
}
else
{
inf=i;
i=inf+(sup-inf)/2;
printf("sup: %d\n inf: %d\n", sup, inf);
}
}
}
}
NON PRENDETE QUESTO PER VERO!