int buscarPosicion(const vector & v, float dato, int inicio, int fin) { // Busca el dato entre las posiciones inicio y fin de v, ambas inclusive if (inicio == fin) if (v[inicio] == dato) return inicio; else return -1; vector copia(v.size()); for (int i = 0; i < v.size(); i++) copia[i] = v[i]; int medio = (inicio + fin) / 2; int resultadoIzquierda = buscarPosicion(copia, dato, inicio, medio); if (resultadoIzquierda != -1) return resultadoIzquierda; else return buscarPosicion(copia, dato, medio + 1, fin); } int buscarPosicion(const vector & v, float dato) { if (v.size() == 0) return -1; return buscarPosicion(v, dato, 0, v.size() - 1); }