top of page

SEMANA 15

Ejercicio en clase 1 y practica terminada
(TAREA (BUSQUEDA SECUENCIAL)) :

#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)); // números aleatorios

    do {
        cout << "    M E N U   P R I N C I P A L   D E   B U S Q U E D A 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;

                // arreglo 
                int *arreglo = new int[tamano];

                // números aleatorios
                for (int i = 0; i < tamano; ++i) {
                    arreglo[i] = rand() % 100; // 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 posicion " << posicion << " del arreglo." << endl;
                } else {
                    cout << "El elemento " << elemento << " no se encuentra en el arreglo." << endl;
                }

                // liberar la memoria
                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 mEtodo 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;
        }
    }
    return -1; 
}
 

image.png
bottom of page