elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
12 Octubre 2008, 16:02  



+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++
| | |-+  Busqueda Binaria
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Imprimir
Autor Tema: Busqueda Binaria  (Leído 1470 veces)
SanMagic

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: Busqueda Binaria
« Respuesta #15 en: 20 Mayo 2008, 03:15 »

a ver, vayamos por partes a ver si asi le cacho mas... porque lo mas seguro esq sea un error mio de interpretacion...

en el ejemplo que me dio ghastlyX la primera linea es

Código:
void busqueda_binaria(int inicio, int final, vector<string> &cadena, string x)

y ya luego todo lo demas del codigo... a ver... q significa con exactitud

Citar
vector<string> &cadena

xq lo mas seguro esq yo me este equivocando en malinterpretar ese argumento...  :-\

y disculpen tanta pregunta... gracias desde ahora....
En línea
ghastlyX
Moderador Global
*****
Desconectado Desconectado

Mensajes: 1.709


No es posible conseguir nada sin arriesgarse algo


Ver Perfil
Re: Busqueda Binaria
« Respuesta #16 en: 20 Mayo 2008, 15:06 »

En mi ejemplo puse para hacerlo con un vector de strings, tú por lo menos en el que has puesto antes trabajabas con un array de strings. Pega el código que tienes ahora y miramos dónde está el error.

Un saludo de ghastlyX ;)
En línea
SanMagic

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: Busqueda Binaria
« Respuesta #17 en: 21 Mayo 2008, 07:04 »

rayos!!! pense q era lo mismo  :P  :-\

podrias explicarme xfavor la diferencia??...
y ya d paso (si no es mucha la molestia) que le tendria que cambiar al programa para q en lugar d usar verctores usara un array?? o como se llena un vector con datos???
En línea
ghastlyX
Moderador Global
*****
Desconectado Desconectado

Mensajes: 1.709


No es posible conseguir nada sin arriesgarse algo


Ver Perfil
Re: Busqueda Binaria
« Respuesta #18 en: 21 Mayo 2008, 11:52 »

A ver, me explico:

Cuando hacemos esto:
Código
int numero[5];
Estamos declarando un arreglo (array) de enteros, aunque comúnmente se le llama también vector, en este caso unidimensional.

Cuando hacemos esto:
Código
vector<int> numero(5);
Estamos declarando un contenedor vector de tipo entero al que reservamos espacio para 5 enteros. El contenedor vector está dentro de los contenedores de la STL (Standard Template Library) y para usarlo hay que incluir vector.

Para lo que tú quieres hacer lo puedes hacer tanto con un arreglo de string como con un vector de ese tipo, pero según como lo hagas tendrás que poner unos argumentos a la función u otros. Si quieres que te digamos cómo solucionarlo, péganos el código que estás usando.

Un saludo de ghastlyX ;)
En línea
SanMagic

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: Busqueda Binaria
« Respuesta #19 en: 23 Mayo 2008, 02:45 »

jejeje a ver.... oki... les pongo el codigo, xq entre mas busco yo info acerca d esto nomas no encuentro nada...  y con el monton d trabajos y tarea extra q tengo casi ni tiempo me da d analizar bien esto....

Código:
#include <iostream>
#include <string>

using namespace std;
void busqueda_binaria(int inicio, int final, ???, string x);

main(){   

     string v2[9] = {"double","int","float","unsigned","signed","char","double","long","short"};
        int inicio=0,  fin2=8;
       string x="algo";
     busqueda_binaria(inicio,fin1,???,x);
     
}

void busqueda_binaria(int inicio, int final, ???, string x)
{

     int medio;
     bool flag = false;
     while((inicio <= final) && (!flag))
     {
        medio = (inicio + final) / 2;
        //para comparar usamos compare() de string
        if(x.compare(v[medio]) > 0) inicio = medio + 1;
        else if(x.compare(v[medio]) < 0) final = medio - 1;
        else flag = true;
     }
     if(flag) cout << "Elemento encontrado en la posicion " << medio << endl;
     else cout << "El elemento no esta en la lista" << endl;
}

reemplace el tercer argumento que se le debe de dar a la funcion por "???" xq ni idea d como ponerlo ahi... mmm bueno... espero eso ayude en algo... y gracias desde ahora a todos los q me han ayudado y a todos los que me van a ayudar  ;D
En línea
ҒrεακΠιи∂

Desconectado Desconectado

Mensajes: 121



Ver Perfil
Re: Busqueda Binaria
« Respuesta #20 en: 23 Mayo 2008, 03:18 »

Buenas

No es dificil. El problema es que la clase vector y los vectores (las posiciones contiguas de memoria) se denominan igual.

vector<tipo> es la clase de la STL de C++. Mas o menos tiene las mismas caracteristicas que un vector comun y corriente, solo que sube un poco mas la abstraccion dejando hacer algunas cosillas mas facilmente (por ejemplo, crece automaticamente)

Si usas un vector<string> el codigo es asi:
Código
void busqueda_binaria(int inicio, int final, vector<string>&, string x);
...
vector<string> strs;
busqueda_binaria(inicio,fin1,strs,x);
Si usas los vectores de cadenas entonces es asi
Código
void busqueda_binaria(int inicio, int final, string *, string x);
...
string  *strs;
busqueda_binaria(inicio,fin1,strs,x);


Saludos, FreakMind
En línea

Connoisseurs of C semantics find C++ inferior to ++C
SanMagic

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: Busqueda Binaria
« Respuesta #21 en: 24 Mayo 2008, 07:34 »

 ;D Muchas gracias a todos por su ayuda!!!  ;D xfin he podido resolver mi problema!!  ;D cualquier ora cosa que no sepa vendre a preguntar  :laugh:

GRACIAS A TODOS!!
En línea
Páginas: 1 [2] Ir Arriba Imprimir 
Ir a:  







Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC
Free counter and web stats