Foro: Dudas y Consultas

tp7-p2

tp7-p2

de Usuario eliminado -
Número de respuestas: 1

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)

En respuesta a Usuario eliminado

Re: tp7-p2

de Verónica Torres -
Hola Javier, ahí te corregí el problema en el código, estaba mal ubicado el paréntesis en la función cola llena, también ten en cuenta el consultar primero no hace referencia correctamente al valor.
saludos