Curso 2024/2025
Piensa qué es lo que está mal en la siguiente solución y qué error podría provocar al ejecutarse.
int contarComunes(const vector<float> & v1, const vector<float> & v2) { int contador = 0, i = 0, j = 0; while (i < v1.size() && j < v2.size()) { if (v1[i] == v2[j]) { contador++; i++; j++; } if (v1[i] < v2[j]) i++; else j++; } return contador; }
Falta else
antes del segundo if
. Tras entrar en
el primer if
, ya no tenemos la garantía de que se cumpla la
condición del bucle para acceder a v1[i]
y v2[j]
.