Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/03/2016, 02:03
darkedlico94
 
Fecha de Ingreso: julio-2013
Mensajes: 9
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: imprimir lista en c++

Hola!, muchas gracias por responder.
con referencia a
Código PHP:

lo que apunta q es al elemento dato, y si tienes razón con respecto al ciclo me hacía falta algo así como un contador para q siga recorriendo los elementos, estoy un poco perdida en esta parte y ya le he intentado de diferentes formas, pero me marca un error de memoria.

Código PHP:

using namespace std
;
class 
Memoria{
public:
struct elemento{
        
//  int id;
        
string dato;
        
// int tam;
        
elemento *sig;
        
    }*
pila;
    
//typedef pila *indice;
public:
      
    
Memoria(){ //constructor iniciamos en 0
        
pila->sig=NULL;
    }
    
   
void insertar(string d/*, int t*/){
        
elemento *q;
        
q=new elemento();
       
        
q->dato=d;
      
        
q->sig=pila//q->sig apunta a lo que está apuntando m
        
pila=q;
       
    }
    
 
    
    
string extraer (){
        
elemento *q;
        
string d;
        
        if(
pila==NULL){
            
cout<<"\n Pila vacia";
            
// return -1;
        
}
        
q=pila;
        
pila=q->sig;
        
d=q->dato;
        
delete q;
        return 
d;
    }

    
void imprimir()
    {
        
elemento *q;
      
        
//aqui es la parte en la que ya le he intentado de varias formas,
        
while(pila!=NULL){//pila->sig!=null, q->sig!=null  aquí lo que hice fue poner de estas diferentes formas adentro del while
            
cout<<"\n solo imprimo";
            
cout<<"\n "<<pila->dato;
            
q->sig=q->sig;//pila->sig=q->sig; y bueno este sería como mi tipo contador y lo mismo aquí, intenté de estas formas pero no me queda
        
            
            
        
}
       
// return *str;
    
}
    
    
    
bool vacia(){
        if(
pila==NULL)
            return 
true;
        return 
false;
        
    }
    
     ~
Memoria(){
     while(
pila!=NULL){
     
extraer();
     }
     }
};

/*void muestra()
{
    Memoria p;
    while(p.vacia()!=true){
        cout<<"\n solo imprimo";
        cout<<"\n m"<<m;
        
    }
    
}*/

string datos(){
    
string d;
    
cout<<"\n proceso: ";
    
cin>>d;
    return 
d;
    
}

int tamanio(){
    
int t;
    
cout<<"\n Tamaño: ";
    
cin>>t;
    return 
t;
}


void proceso(string n){
    
Memoria p;
    
int len=-1;
    
char *array;
    
p.insertar(n);
   
    
cout<<"\n"<<n;
    
    while(array[++
len]!=0){
        
    }
        
    
}

void ejecutar(int np){
    
}

void transferir(){
    
}

int main() {
    
int op;
    
int *n,*s,n1,np;
    
string d;
    
Memoria p;
    do{
    
cout<<"\n Menú <-1 para salir>";
    
cout<<"\n 1. Almacenar una tarea";
    
cout<<"\n 2. Ejecutar tarea (pasar tarea de memoria a cpu)";
    
cout<<"\n 3. Eliminar tarea de cpu"<<endl;
    
// p.mostrar();
    
    
cin>>op;
    
// cout<<"\n 4. Elimina"
   
    
switch (op) {
        case 
1:
            
cout<<"\n proceso?: ";
            
cin>>d;
            
proceso(d);
            
p.imprimir();
            break;