Ver Mensaje Individual
  #3 (permalink)  
Antiguo 12/03/2005, 16:12
achiqalquds
 
Fecha de Ingreso: noviembre-2003
Ubicación: Valencia
Mensajes: 131
Antigüedad: 21 años
Puntos: 1
Muchas gracias por la aclaración

pero resulta que este código, no me muestra nada en la salida (pantalla)

lo que pasa es que estoy intentando implementar una función de búsqueda en un vector. Este vector, contiene como datos cadenas dee carácteres, y la los datos de entrada al vector son, el mismo vector, el número de elementos del vector, y la cadena de carácteres a buscar.
el código que he implementado es el siguiente:

Cita:
bool BuscarAutor (obra v[], int n, string x)
//v es el vector que contiene los datos
//n es el número de elementos en el vector
//x es el dato buscado
{
int izq, der, cen;
bool enc = false;
izq = 0;
der = n;
der = der - 1;
cen = (izq + der) / 2;
/*
* Mientras no se encuentre el elemento
* y existan más de dos elementos en el subvector continúa
* la búsqueda
*/
while ( (izq <= der) && (v[cen] != x) )
{
if (x < v[cen])
der = cen - 1;
else
izq = cen + 1;
cen = (izq + der) / 2;
}
/*
* Se puede salir del bucle por haber encontrado el
* elemento o por haber llegado a un subvector de un solo elemento
*/
if (izq > der)
enc = false;
else
enc = true;
return enc;

}//BuscarAutor
estoy usando el método de búsqueda binaria, pero el problema es que no me encuentra el nombre que yo busco, y siempre me devuelve el valor del elemento anterior.

espero no molestar tanto, y muchísimas gracias por la ayuda.

Saludos y Paz

Última edición por achiqalquds; 12/03/2005 a las 16:13