Hola,
tengo que hacer un ejercicio en C++ que lee una secuencia de números (monedas) todas iguales menos una. Me tiene que decir el indice de la moneda que pesa diferente precedido de + o - dependiendo de si pesa mas o menos que el resto.
Para la entrada:
7
9 9 9 9 10 9 9
Tengo que obtener la salida: +4
He hecho la siguiente función que compara dos segmentos de la secuencia y devuelve 0 si pesan lo mismo, 1 si el primero pesa más o -1 si pesa más el segundo:
int pesa(int v[], int ia, int ib, int n) {
int t = 0;
for (int i = 0; i < n; i++)
t += (v[ib+i] - v[ia+1]);
return t ? (t < 0? - 1:1) : 0;
}
Me falta hacer una función recursiva que, mediante llamadas a la funcion pesa(), se quede con el elemento que pesa diferente. Ahí es donde ando un poco perdido. Agradecería cualquier ayuda.