No incluyo Cola.cpp ni Cola.h. Doy por hecho que ya lo tendrán.
Determina el máximo de una cola de elementos de tipo Valor, sobre los que está definida la
operación ‘MAYOR(Valor, Valor) -> Boolean’ (que compara los valores y devuelve
Verdadero si el primero es mayor o igual que el segundo y Falso si el primero es menor que
el segundo) utilizando para ello únicamente las funciones definidas sobre Colas. La cola
puede tener elementos repetidos. Utiliza sólo las operaciones definidas sobre colas.
#include <cstdlib>
#include <iostream>
#include "colas.h"
using namespace std;
typedef int Valor;
bool Mayor (Valor x, Valor y);
int main()
{
Cola p;
Valor x, mayor, a, b;
//Cargamos la cola
for (int i=0; i<=20; i++)
{
if (p.Encolar(i))
cout << "Agregando.. " << i << " a la cola" << endl;
}
mayor=0;
while (p.PrimeroCola(a))
{
p.Desencolar();
p.PrimeroCola(b);
if (Mayor(a,b))
mayor=a;
else
mayor=b;
}
cout << "Mayor: " << mayor << endl;
//Prueba Desencolar
/*for (int i=0; i<5; i++)
{
p.PrimeroCola(x);
cout << "Desencolando " << x << endl;
p.Desencolar();
}*/
system("PAUSE");
return 0;
}
//################################################################
//================================================================
// Mayor(Valor x, Valor y) -->
//
// Mayor. Si 'a' es mayor o igual que 'b' --> Booleano
//
//========================= CODE =================================
//################################################################
bool Mayor(Valor x, Valor y)
{
bool ok;
if (x>=y) ok=true;
else ok=false;
return ok;
}
Leer más…