Ecco qui il pezzo di codice da sistemare
allora... SIZE è 5 quindi l'array in fine risulta:codice:int main() { int a[SIZE]; int i; int key; for (i=0; i<SIZE; i++) { a[i]=2*i; } /*assegnazione temporanea per modificare l'array*/ a[1]=10; printf("Immetti un numero tra 0 e 38: "); scanf("%d", &key); for (i=0; i<SIZE; i++) { if(a[i]<a[i+1]) { binary(a, key, 0, SIZE-1); } else { linear(a , key, SIZE); } return 0; } }
0, 10, 4, 6, 8
il mio problema è quando devo eseguire il controllo per vedere se l'array è ordinato dunque...
il primo controllo che fa è se 0<10 e siccome è vero eseguecodice:for (i=0; i<SIZE; i++) { if(a[i]<a[i+1]) { binary(a, key, 0, SIZE-1); } else { linear(a , key, SIZE); }
binary(a, key, 0, SIZE-1); però il programma dovrebbe eseguire quell'istruzione solo se TUTTO l'array è ordinato...come potrei fare?

Rispondi quotando