Created
April 13, 2024 05:56
-
-
Save ChekeGT/1249b2a2d1d7333402d2ccb99a9a76b9 to your computer and use it in GitHub Desktop.
Este programa permite al usuario crear dos conjuntos de cadenas de texto y luego calcula y muestra el conjunto potencia de la unión de ambos conjuntos. El conjunto potencia de un conjunto es el conjunto que contiene todos los subconjuntos posibles del conjunto original.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
#include <string> | |
#include <vector> | |
// Nombre del progamador: Francisco Ezequiel Baños Ramírez | |
// Fecha de creacion: 12 de abril de 2024 | |
// Descripcion: Este programa permite al usuario crear dos conjuntos de cadenas de texto y luego calcula y muestra el conjunto potencia de la unión de ambos conjuntos. El conjunto potencia de un conjunto es el conjunto que contiene todos los subconjuntos posibles del conjunto original. | |
// Funcionamiento del programa | |
// Datos de entrada | |
// Dos conjuntos de cadenas de texto. | |
// Los elementos de los conjuntos pueden ser introducidos manualmente por el usuario. | |
// No se verifica la unicidad de los elementos, por lo que se pueden introducir elementos duplicados. | |
// El programa no maneja errores de entrada, por lo que si se introduce un tipo de dato incorrecto el programa puede fallar | |
// Datos de salida | |
// El conjunto potencia de la unión de los dos conjuntos introducidos por el usuario. | |
// El conjunto potencia se muestra en una lista entre corchetes. | |
// Cada elemento del conjunto potencia se muestra entre paréntesis. | |
// Ejemplo de ejecución | |
// Conjunto 1 | |
// Para introducir elementos simplemente escribelo cuando se te solicite, para dejar de introducir elementos simplemente presiona enter cuando ya no desees hacerlo. | |
// Introduce un elemento(0): Manzana | |
// Introduce un elemento(1): Naranja | |
// Introduce un elemento(2): | |
// Conjunto 2 | |
// Para introducir elementos simplemente escribelo cuando se te solicite, para dejar de introducir elementos simplemente presiona enter cuando ya no desees hacerlo. | |
// Introduce un elemento(0): Rojo | |
// Introduce un elemento(1): Verde | |
// Introduce un elemento(2): | |
// Tu conjunto potencia es: | |
// [(Manzana, Rojo), (Manzana, Verde), (Naranja, Rojo), (Naranja, Verde)] | |
int main(){ | |
std::vector<std::string> conjunto_1; | |
std::vector<std::string> conjunto_2; | |
while (true) { | |
std::cout << "Conjunto 1\n"; | |
std::cout << "Para introducir elementos simplemente escribelo cuando se te solicite, para dejar de introducir elementos simplemente presiona enter cuando ya no desees hacerlo.\n"; | |
std::cout << "Introduce un elemento(" << conjunto_1.size() << "):"; | |
std::string element; | |
std::getline(std::cin, element); | |
if (element == "") { | |
break; | |
} | |
conjunto_1.push_back(element); | |
std::cout << "\n"; | |
} | |
system("clear"); | |
while (true) { | |
std::cout << "Conjunto 2\n"; | |
std::cout << "Para introducir elementos simplemente escribelo cuando se te solicite, para dejar de introducir elementos simplemente presiona enter cuando ya no desees hacerlo.\n"; | |
std::cout << "Introduce un elemento(" << conjunto_2.size() << "):"; | |
std::string element; | |
std::getline(std::cin, element); | |
if (element == "") { | |
break; | |
} | |
conjunto_2.push_back(element); | |
std::cout << "\n"; | |
} | |
system("clear"); | |
std::vector<std::string> conjunto_potencia; | |
for (int i = 0; i < conjunto_1.size(); i++) { | |
for (int j = 0; j < conjunto_2.size(); j++) { | |
std::string multiplication = conjunto_1[i] + "," + conjunto_2[j]; | |
conjunto_potencia.push_back(multiplication); | |
} | |
} | |
std::cout << "Tu conjunto potencia es:\n" << "["; | |
for (int i = 0; i < conjunto_potencia.size(); i++) { | |
std::cout << "(" << conjunto_potencia[i] << ")"; | |
if (i != conjunto_potencia.size() - 1) { | |
std::cout << ","; | |
} | |
} | |
std::cout << "]\n"; | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment