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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Temas
Páginas: [1]
1  Programación / Programación General / Problemas con eliminar en pilas en: 22 Junio 2017, 09:46 am
Chicos soy nuevo en el grupo y no se si pueda poner este problema en esta sección pero necesito ayuda X_x, alguien podria decirme como eliminar un elemento de pila segun su posicion?, es decir en un lado aparece la posicion 1-2-3-4-5 y en el otro los numeros que estan alli, de momento ni tengo ni idea de como comenzar esa funcion y de momento solo tengo esto T_T

#include <iostream>
#include <stdlib.h>
#include <conio.h>
using namespace std;
struct Nodo {
   int Numero;
   Nodo *sgt;
};

int acu = 0;
int i ;

void INP(Nodo *&, int  );   //INP = Insertar numeros a la pila
void VNP(Nodo *);         //VNP = Ver numeros de la pila
void BNP(Nodo *&, int &);   //BNP = Borrar numeros de la pila 

int main (){
   Nodo *pila = NULL;
   int  Num , op ,Numero;
   int i = 0;
   while (op != 4){
      system("cls");
      cout << "1 - Ingrese datos a la pila" << endl;
      cout << "2 - Ver el listado de los datos en la pila " << endl;
      cout << "3 - Eliminar un numero en la pila (Seleccione la posicion a eliminar) " << endl;
      cout << "4 - Salir del programa" << endl;
      cin >> op;
      switch (op){
         case 1 :
            system("cls");
            cout << "ingrese un numero a la pila "  << endl;
            cin  >> Num;
            INP(pila,Num);
            acu = acu+1;
         break;
      
         case 2:
            system("cls");
            VNP(pila);
            getch();
         
         break;
   
         case 3:
            system("cls");
            cout << "Ingrese la posicion a eliminar" << endl;
            cin >> Num;
            BNP(pila,Num);
            getch();
          break;
       
          case 4:
          break;
      
         default:
         break;
      }
   }
}

void INP(Nodo *&pila, int dato ){ 
   Nodo *NN = new Nodo();   // la doble N significa nuevo nodo
   NN->Numero = dato;
   NN->sgt = pila;
   pila = NN;
   cout <<"\nEl numero " << dato << " ha sido registrado en la pila " << endl;
   getch();
}

void VNP(Nodo *pila){
   int aux,i = 0;
   cout << "Posicion  " << "       Numero registrado" << endl;
   while (pila != NULL){
      cout << "     "  << i+0;
      cout << "                    "<< pila->Numero << endl;
      pila = pila   ->sgt;
      i++;
   }
}
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines