Qual è il ciclo corretto per trovare l’indice del primo elemento negativo in un vettore dichiarato come
float v[MAX]?
while(i < MAX) { if(v[i] >= 0) i++; } while(v[i] >= 0 && i < MAX) i++; while(i < MAX || v[i] < 0) i++; while(i < MAX && v[i] >= 0.0) i++;
Soluzione: d.
Infatti
- Incrementa i se l'elemento non è negativo, quando incontra un elemento negativo va in loop
- Prima controlla se l'elemento è non negativo e poi se l'indice è ancora valido...
- Incrementa i se l'elemento è negativo, quindi perde la posizione...
- Se l'indice è valido e se l'elemento non è negativo incrementa i.
All'uscita del while() o i=MAX e non esistono elementi negativi oppure i<MAX e i indica la posizione del primo elemento negativo.