Hola amigos,
Resulta que tengo que hacer esto:
Cita: Escriba un programa para ejecutar el experimento siguiente:
Genere 100 números aleatorios con valores en el rango entre 1 y 500. Conforme se genera cada número, insértelo en una cola inicialmente vacía. Si el número es de dos dígitos, tiene prioridad sobre números de tres dígitos.
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.
Nunca hemos trabajado usando Colas, no entiendo cómo uno puede aprender de esta manera pero bueno, venga...
He investigado cómo crear una Cola y crear los números aleatorios.
Código:
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()
using namespace std;
//Declaraciones de tipos para manejar colas en C++
typedef struct _nodo {
int dato;
struct _nodo *siguiente;
} tipoNodo;
typedef tipoNodo *pNodo;
typedef tipoNodo *Cola;
int main()
{
//Declaración de variables
int i, Numero;
srand(time(NULL));
//Procesamiento
for(i = 1; i <= 100; i++)
{
Numero = 1 + rand() % (501 - 1);
cout << Numero << endl;
}
return 0;
}
Screenshot:
Vamos bien, ahora
la pregunta es:
- Cómo inserto los números en la Cola?.
- Cómo es eso de prioridad?.
- Cómo hago para que el número de dos dígitos se guarde antes que los de tres dígitos?
Bueno, nunca había visto Colas, espero puedan ayudarme, gracias.