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?.