elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Pilas C++ usando Estructuras (STRUCT)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Pilas C++ usando Estructuras (STRUCT)  (Leído 15,978 veces)
Ferno


Desconectado Desconectado

Mensajes: 375


Ver Perfil
Re: Pilas C++ usando Estructuras (STRUCT)
« Respuesta #10 en: 21 Octubre 2011, 00:54 am »

Por supuesto que no te deja visualizarlo, esa no es la funcionalidad de una pila. No estás usando la estructura correcta (o al menos la más eficiente) para hacerlo.
Para ingresar y extraer exactamente en el orden en que ingresaste el dato, es mejor usar una Cola (First in, First out). La pila (First in, Last out) va extrayendo en base al último dato que ingresaste en ella, es decir, el tope.


En línea

terym

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Pilas C++ usando Estructuras (STRUCT)
« Respuesta #11 en: 21 Noviembre 2011, 20:52 pm »

hola disculpen soy nueva en esto y me encontre con este foro q me parecio interesante y creo q me podria ayudar estoy implementando una pila
#include <stdio.h>
#include <stdlib.h>


  /* declaracion */
struct tpila{
  int clave;
  struct tpila *sig;
};
   /* prototipos e implementacion */

void crear(struct tpila **pila);
int vacia(struct tpila *pila);
void apilar(struct tpila *pila, int elem);
int desapilar(struct tpila *pila,int *elem);
void imprimirpila( struct tpila *ptrActual,struct tpila *pila);


void imprimirpila( struct tpila *ptrActual,struct tpila *pila)
{


    printf( "La pila es:\n\n" );


    while ( ptrActual != NULL) {
        printf( "%d -> ", ptrActual->clave );
       ptrActual= pila->sig;
       pila->sig= ptrActual;
       system("pause");



    }
     printf( "apunta a null\n" );


}




void crear(struct tpila **pila)
{  *pila = (struct tpila *) malloc(sizeof(struct tpila));

  (*pila)->sig = NULL;

  printf("pila creada\n");
}

int vacia(struct tpila *pila){
  return (pila->sig == NULL);
}

void apilar(struct tpila *pila, int elem){
  struct tpila *nuevo;

  nuevo = (struct tpila *) malloc(sizeof(struct tpila));


  nuevo->clave = elem;
   nuevo->sig = pila->sig;
  pila->sig = nuevo;
}

 int desapilar(struct tpila *pila,int *elem){
  struct tpila *aux;


  aux = pila->sig;
  *elem= aux->clave;
  pila->sig = aux->sig;
  free(aux);
  return *elem;
}

   /* programa de prueba */
int main(void)
{
  struct tpila *pila;
  int elem,opc,reg;
  crear(&pila);

do{
  printf("que deseas hacer  1)apilar 2)desapilar 3)imprimir\n");
  scanf("%d",&opc);


  switch(opc){

    case 1:

    printf("introduce el numero a apilar");
      scanf("%d",&elem);
     apilar(pila,elem);
   printf("pulse la tecla 5 para regresar al menu principal");
    scanf("%d",&reg);
    break;

    case 2:
    if(!vacia(pila)){
     desapilar(pila,&elem);
     printf( "elemento retirado\n");
    }
                else
                    printf( "La pila esta vacia\n" );
                break;

    case 3:
    if ( !vacia( pila ) )
    imprimirpila( pila );
                else
                    printf( "La pila esta vacia\n" );
                    printf("pulse la tecla 5 para regresar al menu principal");
    scanf("%d",&reg);
                break;

    }

}
  while(reg==5);
return 0;



}
 les vuelvo a comentar soy principiante si alguien me podri ayudar les agradeceria mucho el error esta ala hora de imprimir no me imprime todos los elementos de la lista le dejo mi correo por detecta el error terezza_31@hotmail.com


En línea

RyogiShiki


Desconectado Desconectado

Mensajes: 745


げんしけん - Hikkikomori FTW!!!


Ver Perfil WWW
Re: Pilas C++ usando Estructuras (STRUCT)
« Respuesta #12 en: 21 Noviembre 2011, 21:03 pm »

éste hilo lleva innactivo más de un mes. No está perimitido revivir hilos antiguos. Lo mejor es que crees un nuevo tema, Y cuando bayas a colocar el código hazlo usando GeSHi (extremo superior derecho de las herramientas de edición de un mensaje)

Saludos
En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Pilas C++ usando Estructuras (STRUCT)
« Respuesta #13 en: 21 Noviembre 2011, 21:11 pm »

En la funcion de imprimir e falta un parametro que es el puntero donde se encuentra una instruccion de la pila
en ensamblador seria el registro BP

tambie otra cosa... la declaracion de los prototipos se usa para indicarle al compilador que en
algunas parte se encuentran dichas funciones en el archivo fuente... los prototipos se pueden
omitir si las funciones estan declaradas antes de la funcion main...
« Última modificación: 21 Noviembre 2011, 23:20 pm por RHL » En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda con estructuras (struct)
Programación C/C++
alexis33de 1 2,745 Último mensaje 28 Agosto 2010, 03:41 am
por Littlehorse
Proyecto Arreglo con estructuras (struct) En C++
Programación C/C++
Antarezx 0 8,770 Último mensaje 26 Septiembre 2011, 00:26 am
por Antarezx
C++ Problema propuesto usando estructuras repetitivas
Programación C/C++
Franz1628 3 3,151 Último mensaje 27 Enero 2012, 23:45 pm
por theluigy13etv
Problemas con programa usando struct
Programación C/C++
Fyllio 2 2,402 Último mensaje 28 Noviembre 2013, 22:30 pm
por Fyllio
Pregunta con estructuras y Pilas en C - Cual es la opcion correcta.
Programación C/C++
palacio29 1 2,112 Último mensaje 22 Octubre 2016, 13:37 pm
por ivancea96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines