profe podria ver mi codigo no entiendo xq siempre me entra a que el arreglo esta lleno
using namespace std;
const int MAX=10;
typedef int tcola[MAX];// contenedor
void iniciar(tcola &c);
void agregar(tcola &c,int num);
bool cola_llena(tcola c);
int quitar(tcola &c);
bool cola_vacia(tcola c);
int primero(tcola c);
int ultimo(tcola c);
int cantidad(tcola c);
int siguiente(int n);
void iniciar(tcola &c){
c[0]=1;//frente
c[MAX-1]=1;//final
}
void agregar(tcola &c,int num){
if(cola_llena(c)==true)
cout<<" LLENO "<<endl;
else{
c[MAX-1]=siguiente(c[MAX-1]);
c[c[MAX-1]]=num;
}
}
bool cola_llena(tcola c){
if(siguiente(c[MAX-1]==c[0])) //tienes mal cerrado el paréntesis de la función siguiente(c[MAX-1])==c[0])
return true;
else
return false;
}
int quitar(tcola &c){
int extraido;
if(cola_vacia(c)==true)
extraido=-9999;
else{
c[0]=siguiente(c[0]);
extraido=c[c[0]];
}
return extraido;
}
bool cola_vacia(tcola c){
if(c[MAX-1]==c[0])
return true;
else
return false;
}
int primero(tcola c){
int pri;
if(cola_vacia(c)==true)
pri=-9999;
else
pri=c[c[0]]; //aquí debería ser pri=c[siguiente(c[0])];
return pri;
}
int ultimo(tcola c){
int ult;
if(cola_vacia(c)==true)
ult=-9999;
else
ult=c[c[MAX-1]];
return ult;
}
int siguiente(int n){
if(n==MAX-2)
return 1;
else
n++;
return n;
}
(Editado por Verónica Torres - envío original viernes, 13 de octubre de 2023, 16:19)