Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/06/2013, 20:25
Avatar de swator
swator
 
Fecha de Ingreso: junio-2013
Mensajes: 6
Antigüedad: 10 años, 9 meses
Puntos: 1
Pregunta PILAS Y COLAS-ayuda por favor

hola,soy estudiante de sistemas c++ y acabo de tener un final pero me fue mal y quisiera ver como es el ejercicio completo.si alguien puede ayudarme se lo agradeceria.les dejo el enunciado
mi mail es [email protected] cualquier cosa avises muchas gracias.





A partir del siguiente código, escribir obligatoriamente en donde se indica CON EL TEXTO "<---- COMPLETAR" las rutinas faltantes o incompletas.

También completar la función main() haciendo que cumpla con el objetivo que se indica más adelante en la función main.

El código entregado se puede alterar si se lo considera necesario y que encuentren un error en el mismo.

Las estructuras a completar son:

t_pila
t_cola

Las funciones a completar son:

void encolar(...., t_dato dato)
void desapilar(...., t_dato dato)
void pilaLlena(...)
void vaciarPila(...)
void vaciarCola(...)
void colaVacia(...)
void main()


#include <iostream>
using namespace std;

typedef int t_dato

struct t_nodo{
t_dato dato;
t_nodo * sig;
};

struct t_pila {
...
}

struct t_cola {
...
}
//----- Rutinas a completar

void encolar(...., t_dato dato) <---- COMPLETAR Y DESARROLLAR

void desapilar(...., t_dato dato) <---- COMPLETAR Y DESARROLLAR

void pilaLlena(...) <---- COMPLETAR Y DESARROLLAR

void vaciarPila(...) <---- COMPLETAR Y DESARROLLAR

void vaciarCola(...) <---- COMPLETAR Y DESARROLLAR

void colaVacia(...) <---- COMPLETAR Y DESARROLLAR

//-----
bool pilaVacia (t_pila pila){
return (pila.cab == NULL);
}
//-----
bool colaLlena (t_cola cola){
t_nodo * aux = new t_nodo;
if (aux) {
delete aux;
return false;
} else
return true;
}

t_dato VerPrimero(t_cola cola) {
if (ColaVacia(cola)) {
return -1;
} else {
return cola.frente->dato;
}
}
//----------------------------
t_dato ExtraerPrimero(t_cola cola) {
t_dato valor;
t_nodo * nodo;
if (ColaVacia(cola)) {
cout << "NO HAY DATOS!";
esperar()
return -1;
} else {
nodo = cola.frente;
cola.frente = cola.frente->sig;
if (!cola.frente)
cola.fondo = NULL;
valor = nodo->dato;
delete nodo;
return valor;
}
}
}
//----------------------------
void limpiarPantalla(){
system("cls");
cout<<"***"<<endl<<"TC2 - Tercer examen de avance"<<endl<<"***"<<endl;
}
//----------------------------
void esperar(){
cout<<endl<<"Pulse una tecla para continuar..."<<endl;
getchar();
}

bool EsValido(t_cola cola, t_dato num) {
return (num < VerPrimero(cola));
}
//-----------------------------
void main (){
/*
Definir y e inicializar las estructuras necesarias
Apilar 100 números al azar.
Extraerlos de la pila y, si cumplen con la condición EsValido(cola, numero), encolarlos.
Mostrar por pantalla los números encolados y el valor promedio de los mismos.
Vaciar las estructuras que se necesiten vaciar antes de terminar el programa.
*/
}