Si consideri il seguente frammento di programma:
int f(int T[], int D, int k) { int i=0; int j=D-1; int ris=0; while(i < j) if(T[i]+T[j] > k) { ris+=1; j--; } else i++; return(ris); } main() { int T[]={-10,-3,-1,1,2,4,5,7,9,10,20,25,31,34}; printf("num=%d\n", f(T, 14, 25)); }Cosa viene visualizzato a video dall’esecuzione di main()?
Soluzione: num=4.
La funzione scorre (in modo originale…) il vettore con i due indici i e j e incrementa il risultato quando la somma dei valori corrispondenti è maggiore di 25.
Le coppie che hanno successo sono
- (-3, 34)
- (-3, 31)
- (1, 25)
- (7, 20)