Advertisement
idsystems

Cpp_Practica47_Paises

Jun 23rd, 2024
436
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.57 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <algorithm>
  4. using namespace std;
  5.  
  6. const int MAX = 5;
  7.  
  8. void push(string pila[], int &tope, string elemento) {
  9.     if (tope < MAX) {
  10.         pila[tope] = elemento;
  11.         tope++;
  12.     } else {
  13.         cout << "La pila está llena." << endl;
  14.     }
  15. }
  16.  
  17. string pop(string pila[], int &tope) {
  18.     if (tope > 0) {
  19.         tope--;
  20.         return pila[tope];
  21.     } else {
  22.         cout << "La pila está vacía." << endl;
  23.         return "";
  24.     }
  25. }
  26.  
  27. void mostrarPila(const string pila[], int tope) {
  28.     for (int i = tope - 1; i >= 0; i--) {
  29.         cout << pila[i] << endl;
  30.     }
  31. }
  32.  
  33. void convertirMayusculas(string &str) {
  34.     transform(str.begin(), str.end(), str.begin(), ::toupper);
  35. }
  36.  
  37. int main() {
  38.     string pila1[MAX];
  39.     string pila2[MAX];
  40.     int tope1 = 0;
  41.     int tope2 = 0;
  42.     string pais;
  43.  
  44.     // Insertar 5 nombres de países en la primera pila
  45.     for (int i = 0; i < MAX; i++) {
  46.         cout << "Introduce el nombre del país " << (i + 1) << ": ";
  47.         getline(cin, pais);
  48.         push(pila1, tope1, pais);
  49.     }
  50.  
  51.     // Copiar elementos de pila1 a pila2 en mayúsculas
  52.     while (tope1 > 0) {
  53.         pais = pop(pila1, tope1);
  54.         convertirMayusculas(pais);
  55.         push(pila2, tope2, pais);
  56.     }
  57.  
  58.     // Desplegar elementos de pila1 (vacía)
  59.     cout << "Elementos en pila1 (vacía):" << endl;
  60.     mostrarPila(pila1, tope1);
  61.  
  62.     // Desplegar elementos de pila2
  63.     cout << "Elementos en pila2 (en mayúsculas):" << endl;
  64.     mostrarPila(pila2, tope2);
  65.  
  66.     return 0;
  67. }
  68.  
  69.  
  70.  
  71.  
  72.  
Tags: Pilas
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement