Donat un vector de nombres enters positius, no buit, i ordenat, volem trobar la posició més gran per a la qual existeix una posició tal que . Observeu que sempre hi ha una solució trivial:
Escriviu una funció:
void sumaparcial(const vector<int> &A, int &p, int &q);que rebi un vector ordenat d’enters positius i deixi a les variables i els valors que satisfàn les condicions anteriors.
Només cal enviar el procediment demanat; el programa principal serà ignorat.
Les solucions que modifiquin la capçalera de la funció demanada es consideraran invàlides.
Call: sumaparcial([1, 2, 3, 4, 5, 6, 7, 8], p, q) Result: p=2, q=5 Call: sumaparcial([1, 2, 3, 6, 12, 24, 48, 96], p, q) Result: p=6, q=7 Call: sumaparcial([1, 2, 4, 6, 10], p, q) Result: p=0, q=0