Generation

language from codeTue, 21 May 2024

using namespace std; int main() { // Cadena de código fuente a analizar string codigo = R"(principio: || ------------------Declaración de variables----------------- || as base = 2 altura = 4 || ------------------Operaciones----------------- area = base * altura perimetro = ( 2 * base ) + ( 2 * altura ) || ------------------Resultados----------------- mostrarmsg ( Area y perímetro de un rectángulo ) mostrarmsg ( El área del rectángulo es [ area ] ) mostrarmsg ( El perimetro del rectángulo es [ perimetro ] ) || Los corchetes servirán para mostrar el valor de las variables :final)"; vector<string> cadenas; // Vector para almacenar las palabras no comentadas string palabra; // Variable para construir cada palabra bool enComentario = false; // Bandera para saber si estamos en un comentario bool enMostrarmsg = false; // Bandera para saber si estamos dentro de los paréntesis de mostrarmsg for (size_t i = 0; i < codigo.size(); ++i) { char c = codigo[i]; if (c == '\n' || c == ' ' || c == '(' || c == ')' || c == '[' || c == ']' || c == '+' || c == '-' || c == '*' || c == '/' || c == '=' || c == ':') { if (!palabra.empty()) { if (!enComentario && !enMostrarmsg) { cadenas.push_back(palabra); } else if (enMostrarmsg) { palabra += c; cadenas.push_back(palabra); palabra.clear(); continue; } palabra.clear(); } if (c == '\n') { enComentario = false; } else if (c == ' ' && enMostrarmsg) { continue; } else if (!enComentario && c != ' ') { if (c == '(') { if (!enMostrarmsg) { cadenas.push_back("("); } else { palabra += c; } } else if (c == ')') { if (!palabra.empty()) { cadenas.push_back(palabra); palabra.clear(); } cadenas.push_back(")"); enMostrarmsg = false; } else if (c == '[' || c == ']') { if (!palabra.empty()) { cadenas.push_back(palabra); palabra.clear(); } string s(1, c); cadenas.push_back(s); } else { string s(1, c); cadenas.push_back(s); } } } else { palabra += c; if (palabra == "||") { enComentario = true; if (!cadenas.empty() && cadenas.back() == "||") { cadenas.pop_back(); } cadenas.push_back("||"); palabra.clear(); } else if (palabra == "mostrarmsg") { cadenas.push_back(palabra); palabra.clear(); enMostrarmsg = true; } } } if (!palabra.empty()) { if (!enComentario && !enMostrarmsg) { cadenas.push_back(palabra); } } // Imprimir el contenido del vector de palabras cout << "\nEl mensaje contiene " << cadenas.size() << " cadena(s)\n"; cout << "Las cadenas son: \n"; for (const string& cadena : cadenas) { cout << cadena << endl; } return 0; // Fin del programa }

El problema es que estás usando un string para almacenar la palabra, y luego concatenando un string con un entero. Lo que debes hacer es usar un array de strings: var palabras = new string[] { "uno", "dos", "tres" }; for (int i = 0; i < palabras.Length; i++) { Console.WriteLine(palabras[i])

Questions about programming?Chat with your personal AI assistant