#include <iostream>
#include <stack> //uso de stack
#include <stdlib.h>
using namespace std;
int manipulacionDatos()
{
stack<int> miPila;
int j = 0;
for (int i = 1; i < 15 ; i++)
{
miPila.push(i); // Push es para apilar/agregar datos al Stack
j++;
}
cout << "Se ingresaron correctamente " << j << " datos \n\n";
cout << "Sacando los datos de la Pila \n\n";
while (!miPila.empty()) // el ciclo se repite mientras la pila sea diferente de vacio
{
cout <<"\n[" << j << "] = " << miPila.top();
// Top nos muestra el ultimo dato que se ingreso
miPila.pop();
//pop desapula/saca un dato del Stack
j--;
}
return 0;
}
int main()
{
manipulacionDatos();
}
/*#include <iostream>
using namespace std;
void Pausa_Limpieza()
{
cout << "\n\n";
system("pause");
system("cls");
}
int array()
{
int *Pa, *Pb;
int Numero;
Pa = &Numero;
Pb = Pa;
cout << "\n\nLa posicion de Numero en Pa = " << Pa
<< "\nel Valor de Pb = " << Pb
<< "\n\nAMBOS TIENEN LA MISMA POSICION " << Pa << " = " << Pb
<< "\n\n:: Aun siendo punteros diferentes ::" ;
// ----------------------------------------------------
Pa = NULL; Pb = NULL;
int arrays[5] = { 8, 15, 10, 3, 1 };
Pa = arrays; // Esto es igual ha Pa = &Arrays[0];
Pb = &arrays[4]; // Hacemos referencia a la posicion del ultimo elemento
cout << "\n\n\n La resta de Pa-Pb = " << (Pa - Pb);
// El resultado nos dara la distancia entre los dos punteros sera -4
/* NOTA : Solamente se pueden restar 2 punteros */
/* Pa = Pa + 3; // Esto es igual ha Pa = &Arrays[0];
cout << "\n\n\n La SUMA de Pa + 3 = " << (*Pa);
// El resultado nos dara el valor/posicion de arrays[0 + 3] = arrays[3]
Pb = Pb - 4; // Esto es igual ha Pa = &Arrays[0];
cout << "\n\n\n La RESTA de Pb - 4 = " << (*Pb);
// El resultado nos dara el valor/posicion de arrays[4 - 4] = arrays[0]
/*
Pausa_Limpieza();
return 0;
}
int main()
{
array();
return 0;
}*/