57.- C++ desde cero 2019🦸‍♂️ [Búsqueda Binaria]

Es un algoritmo de búsqueda que encuentra la posición de un valor en un array ordenado. Compara el valor con el elemento en el medio del array, si no son iguales, la mitad en la cual el valor no puede estar es eliminada y la búsqueda continúa en la mitad restante hasta que el valor se encuentre.

Código: https://github.com/programadornovato/c-/commit/a03390516c633d3fc64a38ecdec53f748d16d4dd

#include <iostream>
int main(){
    int lista[]={1,2,3,4,5},valor,con,inf,sup,mitad,tam;
    bool encontrado=false;
    tam=sizeof(lista)/sizeof(*lista);
    regresa:
    con=0;
    inf=0;
    sup=tam;

    std::cout<<"Humano ingresa un valor de la siguiente lista: ";
    for (int i = 0; i < tam; i++)
    {
        std::cout<<lista[i]<<" ";
    }
    std::cout<<"\nIngresa el valor:";
    std::cin>>valor;

    while ( (inf<=sup) && con<tam )
    {
        mitad=(inf+sup)/2;
        if(lista[mitad]==valor){
            encontrado=true;
            break;
        }
        if(lista[mitad]>valor){
            sup=mitad;
            mitad=(inf+sup)/2;
        }
        if(lista[mitad]<valor){
            inf=mitad;
            mitad=(inf+sup)/2;
        }
        con++;
    }
    if( encontrado==false ){
        std::cout<<"Huamno estupido intentalo de nuevo:\n ";
        goto regresa;
    }
    if(encontrado==true){
        std::cout<<"Bien echo humano el valor fue encontrado en la posicion: "<<mitad+1<<", ahora dame la patita :)\n ";
    }


    system("pause");
    return 0;
} 

Descargar zip con todos los codigos: http://raboninco.com/bXZK
[CURSO] C++ DE 0 A HEROE: https://www.youtube.com/playlist?list=PLCTD_CpMeEKTofxs7iottRxJ5YPM7BOcc

🎦 [Curso] Visual Studio Code 🆚 de 0 a 100: https://www.youtube.com/playlist?list=PLCTD_CpMeEKQbdlT8efsS-veXuvYZ1UWn

Gracias por apoyar este canal: https://www.patreon.com/programadornovato
🔗 Facebook: https://facebook.com/ProgramadorNovatoOficial
🔗 Twitter: https://twitter.com/programadornova
🔗 Linkedin: https://www.linkedin.com/in/programadornovato/
🔗 Instagram: https://www.instagram.com/programadornovato/
🔗 Pagina oficial: https://www.programadornovato.com

Eugenio Chaparro

Entradas recientes

🟢Editar código de un módulo en Dolibarr [04]

🟢Editar código de un módulo en Dolibarr [04]

En este tutorial vamos editar el código de nuestro módulo personas para poder personalizar algunas…

2 meses hace
🟢Crear un sub_módulo en Dolibarr [03]

🟢Crear un sub_módulo en Dolibarr [03]

En este tutorial vamos a crear un sub módulo llamado seguridad que será muy parecido…

2 meses hace
🟢Modificar un módulo en Dolibarr [02]

🟢Modificar un módulo en Dolibarr [02]

En este tutorial aprenderemos a editar el objeto personas del modulo persona que creamos en…

2 meses hace
🟢Constructor de módulos en Dolibarr

🟢Constructor de módulos en Dolibarr

Como mencionamos anteriormente Dolibarr es un proyecto realizado sobre la base de una política clara:…

2 meses hace
🟢Tickets en Dolibarr [19]

🟢Tickets en Dolibarr [19]

Los ticket en dolibarr nos ayudan a comunicar inconveniente en nuestros productos y servicios dentro…

2 meses hace
🟢Agenda en Dolibarr [18]

🟢Agenda en Dolibarr [18]

Las agendas en dolibarr nos ayudan a ver las actividades realizadas en proceso y por…

2 meses hace