Tutoriales

Inversión de cadenas en C++

En muchos escenarios de programación en C++, puede que sea necesario invertir cadenas. Invertir una cadena implica cambiar el orden de los caracteres en la cadena y establecerlo en el orden inverso, o tal vez simplemente imprimir la cadena al revés. Todo lo que necesitas hacer para invertir una cadena es mover su último elemento a la posición original de la cadena, y así sucesivamente. En algunos casos, puede ser necesario invertir permanentemente la cadena en su dirección. C++ proporciona varios métodos para invertir cadenas.

Técnicas para invertir cadenas en programación C++

Dependiendo de la especificación de codificación que estemos desarrollando, existen muchas técnicas para implementar la inversión de cadenas en la programación C++. Estas tecnologías son:

  • Utilice el método «inverso()»
  • Utilice el método «strev()»
  • Utilice un bucle «for»
  • Utilice un bucle » while «
  • Usar constructor

Ejemplo 1:

Primero, importamos tres archivos de encabezado diferentes: «algoritmo», «iostream» y «cadena». Debemos incluir estos archivos de encabezado para que podamos aprovechar las funciones definidas en ellos. El archivo de encabezado «Algoritmo» contiene muchas funciones integradas que podemos usar para buscar, ordenar, contar, modificar, etc.

Luego, «iostream» proporciona funciones para ingresar o generar datos e incluye el archivo de encabezado «cadena» porque proporciona las funciones necesarias para procesar datos de cadena. Debajo de estos archivos de encabezado, agregamos el espacio de nombres «std». Aquí llamamos a la función «principal()».

Luego, colocamos el tipo de datos «cadena» e inicializamos «originalStr» con algunos datos de cadena. Luego, imprimimos la cadena. Después de eso, usamos el método «reverse()» para ayudar a invertir la cadena. En este método «reverse()», agregamos las variables «begin()», «end()» y «originalStr». Ahora, también imprimimos la cadena inversa obtenida después de aplicar el método «reverse()».

Código 1:

#incluir
#incluir
#incluir
usar espacio de nombres estándar;
entero principal()
{
Cadena originalStr = «Cadena inversa en programación C++»;
kut < «¡La cadena original!» < endel;
kut < cadena original < endel < endel;
contrarrestar(Calle original.comenzar()Calle original.fin());
kut< «¡Cuerda inversa!» < endel;
kut< cadena original;
devolver 0;
}

Producción:
La cadena invertida obtenida después de aplicar el método «reverse()» en el código ahora se representa junto con la cadena original.

Ejemplo 2:

Primero incluimos el archivo de encabezado y luego colocamos «namespace std». Luego, en el método «main()», inicializamos la matriz de caracteres colocando el tipo de datos «char» junto con el nombre de la variable «Org_str» y escribimos aquí la cadena que queremos invertir. Luego, renderizamos este «Org_str» con la ayuda de «cout».

Debajo de esto, usamos el método «strrev()» para invertir la cadena y pasar «Org_str» como parámetro de la función. Ahora, la cadena aquí está invertida. Después de eso, también usamos «cout» para representar la cadena invertida.

Código 2:

#incluir
#incluir
usar espacio de nombres estándar;
entero principal()
{
personaje cadena_organización[] =«Programa de inversión de cadenas»;
kut < cadena_organización < endel < endel;
Streiff(cadena_organización);
kut < «Cuerda invertida» < endel;
kut<cadena_organización;
devolver 0;
}

Producción:
Aquí, se representan la cadena original y la cadena invertida que obtuvimos usando el método «strrev()» en el código del programa.

Ejemplo 3:

En este caso, el archivo de encabezado se incluirá antes de agregar «namespace std». Luego, llame a «main()», agregue una variable de cadena llamada «myOrgStr» e inicialícela con los datos de la cadena.

Después de eso, también declaramos la variable «int» «a» y representamos la cadena «myOrgStr» usando «cout». A continuación, utilizamos el bucle «for» para inicializar la variable «a» con «myOrgStr.length() – 1», y luego colocamos una condición «a >= 0» y la reducimos al valor de «a». Esto invertirá nuestra cadena y la almacenará en «myOrgStr[a]” y donde colocamos “ myOrgStr[a]»En «cout».

Código 3:

#incluir
#incluir
usar espacio de nombres estándar;
entero principal()
{
Cadena myOrgStr=«¡Hola Mundo!»;
entero A;
kut < miOrgStr < endel < endel ;
kut<«Cuerda invertida» <= 0; A)
{
kut<miOrgStr[a];
}
devolver 0;
}

Producción:
Esto representará la cadena original y la cadena invertida que obtuvimos a través del código usando el método de bucle «for».

Ejemplo 4:

Aquí, importamos el archivo de encabezado «bits/stdc++.h», por lo que no necesitamos importar otros archivos de encabezado porque este archivo de encabezado contiene las definiciones de todas las funciones. Luego, ingresamos «espacio de nombres estándar». Aquí, creamos una función llamada «Rev()», pasando «string& myString» como parámetro de la función. Creamos esta función aquí para invertir la cadena.

En esta función colocamos la variable «S_len» de tipo de datos «int» y la inicializamos usando la función «length()» colocando «myString». Luego tenemos otra variable que es «no» del tipo de datos «int» y la inicializamos con «S_len-1».

Debajo de esto, se inicializa otra variable, denominada «a» del tipo de datos «int». Aquí, utilizamos un bucle » while() » y agregamos «a <= no" como condición. Luego, usamos el método "swap()". Este método "swap()" ayuda a intercambiar datos de cadena y luego inicializa "no" con "no -1". También inicializamos "a" con "a+1".

Luego, aquí llamamos «main()» donde inicializamos la variable «myString» con los datos de la cadena e imprimimos la cadena. Después de eso, llamamos a la función «Rev()» que creamos en este código y pasamos «myString» como parámetro de la función. La función invierte la cadena y luego muestra la cadena invertida.

Código 4:

#incluir
usar espacio de nombres estándar;
blanco Sacerdote(Cadena& mi cuerda)
{

entero S_len = mi cuerda.longitud();

entero No = S_len1;

entero A = 0;

a pesar de(A <= No){

intercambio(mi cuerda[a]mi cadena[no]);

No = No1;

A = A+1;
}

}
entero principal()
{
cadena micadena = «Me gusta la programación»;
kut < mi cuerda < endel;
kut < «\norte«Cadena inversa» < endel;
Sacerdote(mi cuerda);
kut < mi cuerda;
devolver 0;
}

Producción:
Aquí, mostramos la cadena original y la cadena invertida obtenida usando el bucle » while() » y el método «swap()» dentro de la función que creamos en el código.

Ejemplo 5:

Importamos el archivo de encabezado «bits/stdc++.h» que contiene todas las definiciones de funciones. Por lo tanto, no necesitamos importar ningún otro archivo de encabezado. A continuación, ingresamos «namespace std» y llamamos «main()» aquí. Luego tenemos una variable «datos» de tipo de datos «cadena» y la inicializamos con la cadena que queremos revertir.

Representamos esta cadena sin formato y luego la invertimos colocando la variable «datos» en «cout». Debajo de esto, inicializamos otra variable, que es «revStr» del mismo tipo de datos «cadena». Luego, utilizamos «rbegin()» y «rend()», que son los iteradores inversos que agregamos para invertir la cadena. La cadena invertida ahora se guarda en la variable «revStr», que se coloca en «cout» para imprimir la cadena invertida aquí.

Código 5:

#incluir
usar espacio de nombres estándar;
entero principal()
{

datos de cadena = «C++ es el mejor lenguaje de programación»;

kut < datos < endel < endel;

Cadena revStr = Cadena(datos.Reanudar()datos.lágrima());

kut < Velocidad de rotación < endel;
devolver 0;
}

Producción:
La cadena que agregamos al código aparece primero aquí. Entonces, la cadena inversa que obtenemos usando el iterador inverso es la siguiente:

en conclusión

Este artículo analiza el concepto de «inversión de cadenas» en la programación en C++, donde exploramos varias técnicas para invertir cadenas. Exploramos en detalle todos los métodos que ayudan a invertir una cadena en C++ y revertimos la cadena en nuestro código C++. En este artículo, mostramos las cadenas originales e invertidas en el código.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba