Ver Mensaje Individual
  #9 (permalink)  
Antiguo 12/11/2015, 14:04
RGT
Usuario no validado
 
Fecha de Ingreso: noviembre-2008
Mensajes: 505
Antigüedad: 15 años, 5 meses
Puntos: 5
Respuesta: Ejercicio usando Colas en C++

Hola amigos, gracias a la documentación en la web oficial de C++, he logrado esto:

Código:
#include <iostream>
#include <stdlib.h>     // Librería para usar la función srand()
#include <time.h>       // Librería para usar la función time()
#include <queue>        // Librería para el uso de priority_queue
#include <vector>       // Librería para el uso de vectores (Arreglos Dinámicos)

/*
    Escriba un programa para ejecutar el experimento siguiente:

    1. Genere 100 números aleatorios con valores en el rango entre 1 y 500.

    2. Conforme se genera cada número, insértelo en una cola inicialmente vacía.

    3. Si el número es de dos dígitos, tiene prioridad sobre números de tres dígitos.

    4. Después de insertar los 100 números, imprima en orden secuencial las posiciones
    de la cola donde se encuentra el número con mayor valor y el número con menor valor.
*/

using namespace std;

int main()
{
    //Declaración de variables
    int i, Numero;
    srand(time(NULL));

    priority_queue<int> numero_aleatorio;

    //Procesamiento
    for(i = 1; i <= 100; i++)
    {
        //Generamos un número aleatorio del 1 al 500
        Numero = 1 + rand() % (501 - 1);

        //Guardamos el número generado
        numero_aleatorio.push(Numero);
    }

    while (!numero_aleatorio.empty())
    {
        cout << numero_aleatorio.top() << ", ";
        numero_aleatorio.pop();
    }

    return 0;
}
El ejercicio casi esta resuelto.

Lo único que no tengo ni idea de como hacerlo es de imprimir las posiciones del numeros mayor y del numero de menor valor, segun dice el ejercicio.

Alguien puede ayudarme?.