Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Ejercicios:
- 1.- ordene un vector de menor a mayor
- 2.- ordene un vector de mayor a menor
- 3.- dado un vector con edades de personas, ordene a los mayores de 18 por edad ascendente y a los menores por orden de llegada (ubicacion en el vector). colocando primero a los mayores
- */
- #include <iostream>
- #include "heap.h"
- #include "stack.h"
- #include "colagenerica.h"
- const int largo = 15;
- using namespace std;
- typedef int arreglo[largo];
- void llena_vector(arreglo los_valores)
- {
- int i, dato;
- // paso 1: llenar el vector
- for (i=0;i<largo;i++)
- {
- cout << i <<".- ingrese numero : ";
- cin >> dato;
- los_valores[i] = dato;
- }
- }
- void imprime_vector(arreglo los_valores)
- {
- int i;
- // paso 1: llenar el vector
- for (i=0;i<largo;i++)
- {
- cout << i <<".- : " << los_valores[i] << endl;
- }
- }
- void ordena_vector_ascendente(arreglo los_valores)
- {
- int i, dato;
- Heap<int> unos_enteros;
- for (i=0;i<largo;i++)
- {
- unos_enteros.agregar(los_valores[i],los_valores[i]);
- }
- i = 0;
- while (!(unos_enteros.vacio()))
- {
- dato = unos_enteros.extraer();
- los_valores[i] = dato;
- i++;
- }
- }
- void ordena_vector_descendente(arreglo los_valores)
- {
- int i, dato;
- Stack<int> pila_entera;
- ordena_vector_ascendente(los_valores);
- for (i=0;i<largo;i++)
- {
- dato = los_valores[i];
- pila_entera.push(dato);
- }
- i=0;
- while (!(pila_entera.empty()))
- {
- dato = pila_entera.pop();
- los_valores[i] = dato;
- i++;
- }
- }
- void orden_ejercicio3(arreglo los_valores)
- {
- Heap<int> mayores;
- Cola<int> menores;
- int i, dato;
- for (i=0;i<largo;i++)
- {
- dato = los_valores[i];
- if (dato>18)
- {
- mayores.agregar(dato,dato);
- }
- else
- {
- menores.agregar(dato);
- }
- }
- i = 0;
- // extraigo datos del Heap
- while (!(mayores.vacio()))
- {
- dato = mayores.extraer();
- los_valores[i] = dato;
- i++;
- }
- // extraigo datos de la cola
- while (!(menores.vacio()))
- {
- dato = menores.extraer();
- los_valores[i] = dato;
- i++;
- }
- }
- int main() {
- cout << "Hello World!\n";
- arreglo mis_datos, las_edades;
- /*
- llena_vector(mis_datos);
- imprime_vector(mis_datos);
- */
- /*
- // ejercicio 1:
- cout << "voy a ordenar ascendente\n";
- ordena_vector_ascendente(mis_datos);
- imprime_vector(mis_datos);
- */
- /*
- // ejercicio 2:
- cout << "voy a ordenar descendente\n";
- ordena_vector_descendente(mis_datos);
- imprime_vector(mis_datos);
- */
- // ejercicio 3;
- llena_vector(las_edades);
- imprime_vector(las_edades);
- cout << "Segunda impresion\n";
- imprime_vector(las_edades);
- cout << "voy a ordenar como se pidio\n";
- orden_ejercicio3(las_edades);
- imprime_vector(las_edades);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement