Simulacion de una cola con poo

Jhon romero
13 de Julio del 2009
programacion orientada a objetos

simulacion de una cola con c++

# include <iostream>
using std::cout;
using std::endl;
# include <conio.h>
# include <iomanip>
using std::setw;
class cola{
private:
int v[10][2];
public:
void leer(int);
cola(){
for(int i=0;i<10;i++){
v[i][0]=0;
v[i][1]=0;
}
}
void recorrer_atras(int );
void recorrer_adelante();
void imp();

void simu_cola();
};
void cola::imp(){
for(int i=0;i<10;i++)
cout<<cola::v[i][0]<<endl;
}

void cola::leer(int i){
v[i][0]=rand()%10+2;
v[i][1]=rand()%2;
}
void cola::recorrer_adelante(){

for(int k=0;k<10;k++){

v[k][0]=v[k+1][0];
v[k][1]=v[k+1][1];
v[9][0]=0;
v[9][1]=0;
}


}
void cola::recorrer_atras(int l){
for(int k=9;k>=l;k--){
v[k][0]=v[k-1][0];
v[k][1]=v[k-1][1];
}
}

void cola::simu_cola(){
int i=0,x=0,j,aux[2];

while(x==0){
if(v[9][0]!=0){//comprovando si el vector esta lleno
cout<<"el vector esta lleno"<<endl;
break;
}
cola::leer(i);
aux[0]=v[i][0];//respaldo el dato
aux[1]=v[i][1];//respaldo la prioridad
v[i][0]=0;
v[i][1]=0;

if(aux[0]%2==0){
if(aux[1]==0){
v[i][0]=aux[0];
v[i][1]=aux[1];
cout<<"el elemento "<<v[i][0]<<" con prioridad "<<v[i][1]<<" fue ingresado"<<endl;
i++;
cola::imp();

}
else{
j=0;
while(x==0){
if(v[j][1]==0)
break;
j=j+1;
}
cola::recorrer_atras(j);
v[j][0]=aux[0];
v[j][1]=aux[1];


cout<<"el elemento "<<v[j][0]<<" con prioridad "<<v[j][1]<<" fue ingresado"<<endl;

i++;
cola::imp();
}
}
else
if(aux[0]%2!=0){
if(v[0][0]!=0){
cout<<"el elemento "<<v[0][0]<<" con prioridad "<<v[0][1]<<" fue despachado"<<endl;
cola::recorrer_adelante();
}
else
cout<<"la cola esta vacia"<<endl;
if(i!=0)
i=i-1;


cola::imp();

}


}
cola::imp();
}
int main(){
cola a;
a.simu_cola();
return 0;

}










mapechuca
13 de Julio del 2009
con que compilador ejecutaste el programa?