top of page

BÚSQUEDA y ORDENAMIENTO

Exposición

Codigo completo sin errores

#include <iostream>
#include <cstdlib>

using namespace std;

int opcion=0, A[100],n, c, i, j,Aux; 


void Busqueda();
void Burbuja();
void BusquedaBinaria();
void SumaElementos();
void ElementoMinimo();


int main()
{
    int opcion = 0;

    do
    {
        cout << "    M E N U   P R I N C I P A L   D E   M A T R I C E S\n "<< endl;
        cout << " ----------------------------"<< endl;
        cout << " 1.- BUSQUEDA SECUENCIAL \n "<< endl;
        cout << " 2.- ORDENAMIENTO DE BURBUJA \n "<< endl;
        cout << " 3.- BUSQUEDA BINARIA \n "<< endl;
        cout << " 4.- SUMA DE ELEMENTOS "<< endl;
        cout << " 5.- ELEMENTO MINIMO "<< endl;
        cout << endl;

        cout << "\n  INGRESE UNA OPCION <0> : "; 
        cin >> opcion;
        cout << " ----------------------------"<< endl;

        switch (opcion)
        {
            case 1:
                cout << "  1.- BUSQUEDA SECUENCIAL "<< endl;
                cout << " ----------------------------"<< endl;
                Busqueda();
                cout << " ----------------------------"<< endl;
                break;
                
            case 2:
                cout << "  2.- ORDENAMIENTO DE BURBUJA  "<< endl;
                cout << " ----------------------------"<< endl;
                Burbuja();
                cout << "\n ----------------------------"<< endl;
                break;
                
            case 3:
                cout << "  3.- BUSQUEDA BINARIA "<< endl;
                cout << " ----------------------------"<< endl;
                BusquedaBinaria();
                cout << " ----------------------------"<< endl;
                break;
            
            case 4:
                cout << "  4.- SUMA DE ELEMENTOS "<< endl;
                cout << " ----------------------------"<< endl;
                SumaElementos();
                cout << " ----------------------------"<< endl;
                break;
                
            case 5:
                cout << "  5.- ELEMENTO MINIMO "<< endl;
                cout << " ----------------------------"<< endl;
                ElementoMinimo();
                cout << " ----------------------------"<< endl;
                   break;

        }   
    } while (opcion != 0);

    return 0;
}

void Busqueda()
{
    int c = 0;

    for (int i = 0; i < 20; i++)
    {
        A[i] = rand() % 20;
        cout << "A[" << i << "] = " << A[i] << endl;
    }

    cout << "Ingrese el elemento a buscar: "; 
    cin >> n;
    cout << "Cuenta las veces que se encuentra el elemento \n";

    for (int i = 0; i < 20; i++)
    {
        if (A[i] == n)
        {
            cout << "A[" << i << "] = " << A[i] << endl;
            c++;
        }
    }

    cout << "\nSe repitio: " << c << " veces " << n << endl;
}

void Burbuja()
{
    int Aux;

    for (int i = 0; i < 20; i++)
    {
        A[i] = rand() % 20;
        cout << "A[" << i << "] = " << A[i] << endl;
    }

    cout << "Ordenando el vector A[20]\n";

    for (int i = 0; i < 20; i++)
    {
        for (int j = 0; j < 19; j++)
        {
            if (A[j] > A[j + 1])
            {
                Aux = A[j];
                A[j] = A[j + 1];
                A[j + 1] = Aux;
            }
        }
    }
    
    for (int i = 0; i < 20; i++)
    {
        cout << "A[" << i << "] = " << A[i] << endl;
    }
}

void BusquedaBinaria()
{
    int objetivo;
    int inicio = 0;
    int fin = 19; 

    cout << "Ingrese el numero que desea buscar: ";
    cin >> objetivo;

    while (inicio <= fin)
    {
        int medio = inicio + (fin - inicio) / 2;

        if (A[medio] == objetivo)
        {
            cout << "El elemento " << objetivo << " se encuentra en el indice " << medio << endl;
            return;
        }

        if (A[medio] < objetivo)
            inicio = medio + 1;
        else
            fin = medio - 1;
    }

    cout << "El elemento " << objetivo << " no se encuentra en el arreglo." << endl;
}

void SumaElementos() 
{
    int suma = 0;

    for (int i = 0; i < 20; i++) {
        A[i] = rand() % 20;
        cout << "A[" << i << "] = " << A[i] << endl;
        suma += A[i];
    }

    cout << "La suma de todos los elementos del arreglo es: " << suma << endl;
}

void ElementoMinimo()
{
    int minimo = A[0];

    for (int i = 1; i < 20; i++) {
        if (A[i] < minimo) {
            minimo = A[i];
        }
    }

    cout << "El elemento mInimo en el arreglo es: " << minimo << endl;
}
bottom of page