Lenguaje de programación
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;
}
