Mostrar una cadena al revés

C++C++Beginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderá a escribir un programa en C++ para mostrar una cadena dada al revés. Hay múltiples enfoques para invertir una cadena dada en C++. Exploraremos dos métodos diferentes: usando una función de reversión personalizada que construiremos nosotros mismos y usando la función reverse incorporada en C++.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/BasicsGroup(["Basics"]) cpp(("C++")) -.-> cpp/ControlFlowGroup(["Control Flow"]) cpp(("C++")) -.-> cpp/FunctionsGroup(["Functions"]) cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp(("C++")) -.-> cpp/StandardLibraryGroup(["Standard Library"]) cpp/BasicsGroup -.-> cpp/strings("Strings") cpp/ControlFlowGroup -.-> cpp/for_loop("For Loop") cpp/FunctionsGroup -.-> cpp/function_parameters("Function Parameters") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/StandardLibraryGroup -.-> cpp/string_manipulation("String Manipulation") cpp/StandardLibraryGroup -.-> cpp/standard_containers("Standard Containers") subgraph Lab Skills cpp/strings -.-> lab-96184{{"Mostrar una cadena al revés"}} cpp/for_loop -.-> lab-96184{{"Mostrar una cadena al revés"}} cpp/function_parameters -.-> lab-96184{{"Mostrar una cadena al revés"}} cpp/output -.-> lab-96184{{"Mostrar una cadena al revés"}} cpp/string_manipulation -.-> lab-96184{{"Mostrar una cadena al revés"}} cpp/standard_containers -.-> lab-96184{{"Mostrar una cadena al revés"}} end

Función personalizada para invertir una cadena

Primero, escribamos una función personalizada para invertir una cadena dada. Esta función intercambiará el primer carácter con el último, luego el segundo con el penúltimo, y así sucesivamente hasta que toda la cadena esté invertida.

Cree la función reverseStr y pase la cadena por referencia. De esta manera, podemos modificar la cadena original en lugar de devolver una nueva. La función tendrá un bucle for que intercambiará los caracteres de ambos lados de la cadena, trabajando gradualmente hacia el interior hasta que toda la cadena esté invertida.

#include<iostream>
#include<string>
using namespace std;

void reverseStr(string& str) {
    int n = str.length();
    for (int i = 0; i < n / 2; i++) {
        swap(str[i], str[n - i - 1]);
    }
}

Usando la función "reverse" incorporada

C++ también proporciona una función incorporada para invertir una cadena que se encuentra en el archivo de encabezado <algorithm>. Podemos usar la función reverse() pasando la posición de inicio y fin de la cadena que se desea invertir.

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;

int main() {
    string str = "hello";
    reverse(str.begin(), str.end());
    cout << str;
    return 0;
}

Probando el programa

Probemos el programa usando cualquiera de los métodos mencionados anteriormente. Para hacer esto, simplemente llame a la función que acaba de crear o a la función reverse() incorporada. Pase la cadena que desea invertir como argumento a la función.

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;

void reverseStr(string& str) {
    int n = str.length();
    for (int i = 0; i < n / 2; i++) {
        swap(str[i], str[n - i - 1]);
    }
}

int main() {
    string myString = "Hello World!"; //define una cadena a ser invertida

    //Método 1
    cout << "CADENA INVERTIDA USANDO FUNCIÓN PERSONALIZADA:\n";
    reverseStr(myString); //llamando a la función personalizada para invertir la cadena
    cout << myString << endl;

    //Método 2
    cout << "\nCADENA INVERTIDA USANDO FUNCIÓN 'REVERSE' INCORPORADA:\n";
    reverse(myString.begin(), myString.end()); //llamando a la función incorporada para invertir la cadena
    cout << myString << endl;

    return 0;
}

Resumen

En este laboratorio, hemos aprendido a escribir un programa en C++ para mostrar una cadena dada al revés. Exploramos dos métodos diferentes: usando una función personalizada que creamos nosotros mismos y usando la función reverse incorporada en C++. También hemos probado el programa usando ambos métodos llamando a las funciones. Ahora puedes invertir cualquier cadena en un abrir y cerrar de ojos.