#include <iostream>

int main( ) {
   std::cout << "Elige la capacidad: ";

   int cap, tam = 0;
   std::cin >> cap;
   int* p = new int[cap];

   for (;;) {
      std::cout << "Elige una opcion:\n";
      std::cout << "1. Agregar un elemento.\n";
      std::cout << "2. Quitar el ultimo elemento.\n";
      std::cout << "3. Ver el arreglo.\n";
      std::cout << "4. Salir.\n";

      int opcion;
      std::cin >> opcion;

      if (opcion == 1) {
         if (tam == cap) {
            std::cout << "Error: el arreglo esta lleno.\n";
         } else {
            std::cout << "Dame el valor del elemento: ";
            int valor;
            std::cin >> valor;
            p[tam] = valor;
            tam += 1;
         }
      } else if (opcion == 2) {
         if (tam == 0) {
            std::cout << "Error: el arreglo esta vacio.\n";
         } else {
            tam -= 1;
         }
      } else if (opcion == 3) {
         for (int i = 0; i < tam; ++i) {
            std::cout << p[i] << " ";
         }
         std::cout << "\n";
      } else if (opcion == 4) {
         break;
      } else {
         std::cout << "Opcion incorrecta.\n";
      }
      
      std::cout << "\n";
   }

   delete[] p;
}
