top of page
puntos

LENGUAJE DE PROGRAMACIÓN 

BUSQUEDA Y ORDENAMIENTO

EJERCICIOS HECHOS EN CLASE Y LABORATORIO GRUPAL

#include <iostream>

#include <cstdlib> // Para rand() y srand()

#include <ctime>   // Para time()

using namespace std;

 

void Busqueda(int A[], int tam);

void Burbuja(int A[], int tam);

int busquedaSecuencial(int arreglo[], int tamano, int elemento);

 

int main() {

    int opcion = 0;

    int A[100]; // Se declara un arreglo de tamaño máximo 100

    int tam = 20; // Tamaño del arreglo

    srand(time(NULL)); // Inicializa la semilla de generación de números aleatorios

 

    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.- TAREA (BUSQUEDA SECUENCIAL 2)\n " << 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(A, tam);

                cout << " ----------------------------" << endl;

                break;

 

            case 2:

                cout << "  2.- ORDENAMIENTO DE BURBUJA  " << endl;

                cout << " ----------------------------" << endl;

                Burbuja(A, tam);

                cout << "\n ----------------------------" << endl;

                break;

 

            case 3:

                cout << "  3.- TAREA (BUSQUEDA SECUENCIAL 2) " << endl;

                cout << " ----------------------------" << endl;

                int tamano;

                cout << "Ingrese el tamaño del arreglo: ";

                cin >> tamano;

 

                // Crear un arreglo dinámico de tamaño tamano

                int *arreglo = new int[tamano];

 

                // Llenar el arreglo con números aleatorios

                for (int i = 0; i < tamano; ++i) {

                    arreglo[i] = rand() % 100; // Genera números aleatorios entre 0 y 99

                }

 

                cout << "Arreglo generado aleatoriamente:" << endl;

                for (int i = 0; i < tamano; ++i) {

                    cout << "Elemento " << i << ": " << arreglo[i] << endl;

                }

 

                int elemento;

                cout << "Ingrese el elemento a buscar: ";

                cin >> elemento;

 

                int posicion = busquedaSecuencial(arreglo, tamano, elemento);

 

                if (posicion != -1) {

                    cout << "El elemento " << elemento << " se encuentra en la posición " << posicion << " del arreglo." << endl;

                } else {

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

                }

 

                // Liberar la memoria del arreglo dinámico

                delete[] arreglo;

                break;

        }

    } while (opcion != 0);

 

    return 0;

}

 

void Busqueda(int A[], int tam) {

    int n;

    cout << "Generando arreglo A[20] aleatoriamente: ";

    for (int i = 0; i < tam; i++) {

        A[i] = rand() % 20;

        cout << "A[" << i << "]=" << A[i] << " ";

    }

    cout << endl;

 

    cout << "Ingrese el elemento a buscar: ";

    cin >> n;

 

    cout << "Buscando el elemento en el arreglo..." << endl;

    int c = 0;

    for (int i = 0; i < tam; i++) {

        if (A[i] == n) {

            cout << "A[" << i << "]=" << A[i] << endl;

            c++;

        }

    }

    cout << "\nSe repitió " << c << " veces el elemento " << n << endl;

}

 

void Burbuja(int A[], int tam) {

    cout << "Generando arreglo A[20] aleatoriamente: ";

    for (int i = 0; i < tam; i++) {

        A[i] = rand() % 20;

        cout << "A[" << i << "]=" << A[i] << " ";

    }

    cout << endl;

 

    cout << "Ordenando el vector A[" << tam << "] usando el método de Burbuja..." << endl;

    for (int i = 0; i < tam - 1; i++) {

        for (int j = 0; j < tam - i - 1; j++) {

            if (A[j] > A[j + 1]) {

                int Aux = A[j];

                A[j] = A[j + 1];

                A[j + 1] = Aux;

            }

        }

    }

 

    cout << "Vector A ordenado:" << endl;

    for (int i = 0; i < tam; i++) {

        cout << "A[" << i << "]=" << A[i] << endl;

    }

}

 

int busquedaSecuencial(int arreglo[], int tamano, int elemento) {

    for (int i = 0; i < tamano; ++i) {

        if (arreglo[i] == elemento) {

            return i; // Retorna la posición del elemento si se encuentra

        }

    }

    return -1; // Retorna -1 si el elemento no se encuentra en el arreglo

}

Lenguaje de Programación C++

Facultad de Ingeniería Mecánica Eléctrica y Electrónica

Escuela Profesional de Ingeniería Electrónica

"Universidad Nacional San Luis Gonzaga de Ica"

  • Instagram
  • Facebook
bottom of page