Hola que tal de nuevo yo pero ahora con un problema de colas en mi funcion meter, al querer meter yo elementos a mi Cola me dice que la pila esta llena
Código C++:
Ver original#include <iostream.h>
#include <conio.h>
#define MAX 5
#define VACIO -1
typedef int TipoApuntador;
typedef char TipoElemento;
typedef struct TipoCola{
TipoApuntador Frente,Atras;
TipoElemento Elementos [MAX];
};
//Funcioncion InicializarCola
void InicializarCola(TipoCola *C);
//Funcion ColaLlena
int ColaLlena(TipoCola C);
//Funcion ColaVacia
int ColaVacia(TipoCola C);
//Funcion Meter
void Meter (TipoCola *C,TipoElemento E );
TipoCola Cola;
TipoElemento Elementos;
int opcion1=0;
main ()
{
while (opcion1!='s')
{
cout <<"SELECCIONE UNA OPCION DE LAS SIGUIENTES:"<<endl<<endl;
cout <<"1.-Inicializar Cola"<<endl<<endl;
cout <<"2.-Ingresar elementos a la Cola"<<endl<<endl;
cout <<"Opcion:";
cin >> opcion1;
switch (opcion1)
{
case 1:
InicializarCola(&Cola);
cout<<"Cola inicializada ..."<<endl;
break;
case 2:
if(ColaLlena(Cola))
{
cout << "\t\t\t Cola llena!!!!"<<endl<<endl<<endl;
}
else{
cout<<"Ingrese 1 elemento a la Cola:"<<endl;
cin >> Elementos;
Meter(&Cola,Elementos);}
break;
}}
}
void InicializarCola(TipoCola *C)
{
C->Frente=VACIO;
C->Atras=VACIO;
}
//Funcion ColaLlena
int ColaLlena(TipoCola C)
{
if (((C.Frente=0)&&(C.Atras=MAX-1)||(C.Frente==C.Atras+1)))
return 1;
else return 0;
}
//Funcion ColaVacia
int ColaVacia(TipoCola C)
{
return (C.Frente==VACIO);
}
//Funcion Meter
void Meter (TipoCola *C,TipoElemento E )
{
if(C->Atras==VACIO)
{
C->Atras++;
C->Frente=C->Atras;
}
else if (C->Atras==MAX-1)
C->Atras=0;
else C->Atras++;
C->Elementos[C->Atras]=E;
}