Cadena inversa en C++

Cadena Inversa En C



En molts escenaris de programació C++, pot ser necessari invertir una cadena. Invertir una cadena implica canviar l'ordre dels caràcters de la cadena i establir-la en l'ordre invers o simplement podria imprimir una cadena cap enrere. Tot el que es requereix per invertir una corda és moure el seu element final al lloc inicial de la cadena i així successivament. En algunes situacions, pot ser que sigui necessari invertir la cadena a la seva adreça permanentment. C++ ofereix diversos mètodes per invertir la cadena.

Tècniques per invertir una cadena en programació en C++

Depenent de les especificacions del codi que estem desenvolupant, existeixen diverses tècniques per implementar la inversió de cadenes en la programació C++. Aquestes tècniques són:

  • Utilitzant el mètode 'reverse()'.
  • Utilitzant el mètode 'strrev()'.
  • Utilitzant el bucle 'for'.
  • Utilitzant el bucle 'while'.
  • Utilitzant el constructor

Exemple 1:

Primer, importem tres fitxers de capçalera diferents que són 'algoritme', 'iostream' i 'cadena'. Hem d'incloure aquests fitxers de capçalera perquè utilitzem les funcions que s'hi defineixen. El fitxer de capçalera 'algorisme' inclou nombroses funcions integrades per trobar, ordenar, comptar, modificar, etc. que tenim disponibles.







Aleshores, 'iostream' proporciona funcions per introduir o sortir les dades, i s'inclou el fitxer de capçalera 'cadena', ja que proporciona les funcions necessàries mentre es treballa amb les dades de la cadena. Sota aquests fitxers de capçalera, afegim l'espai de noms 'std'. Aquí, invoquem la funció 'main()'.



A continuació, col·loquem el tipus de dades 'cadena' i inicialitzem 'originalStr' aquí amb algunes dades de cadena. Aleshores, imprimim aquesta cadena. Després d'això, utilitzem el mètode 'reverse()' que ajuda a invertir la cadena. En aquest mètode 'reverse()', afegim els 'begin()' i 'end()' juntament amb la variable 'originalStr'. Ara, també imprimim aquesta cadena invertida que obtenim després d'aplicar el mètode 'reverse()'.



Codi 1:





#inclou
#include
#include
utilitzant espai de noms std ;
int principal ( )
{
cadena originalStr = 'Cadena inversa a la programació C++' ;
cout << 'La cadena original!' << endl ;
cout << originalStr << endl << endl ;
revés ( originalStr. començar ( ) , originalStr. final ( ) ) ;
cout << 'La corda invertida!' << endl ;
cout << originalStr ;
tornar 0 ;
}

Sortida:
La cadena invertida que obtenim després d'aplicar el mètode 'reverse()' al nostre codi ara es representa juntament amb la cadena original.



Exemple 2:

Primer incloem els fitxers de capçalera i després col·loquem el 'namespace std'. A continuació, amb el mètode 'main()', inicialitzem la matriu de caràcters col·locant el tipus de dades 'char' amb el nom de la variable 'Org_str' i escrivim aquí la cadena que volem revertir. A continuació, renderitzem aquest 'Org_str' amb l'ajuda de 'cout'.

A sota d'això, utilitzem el mètode 'strrev()' per invertir la cadena i passar 'Org_str' com a paràmetre d'aquesta funció. Ara, la cadena està invertida aquí. Després d'això, també renderitzem la cadena invertida amb l'ajuda de 'cout'.

Codi 2:

#include
#include
utilitzant espai de noms std ;
int principal ( )
{
char Org_str [ ] = 'Programa de cadena inversa' ;
cout << Org_str << endl << endl ;
strrev ( Org_str ) ;
cout << 'Corda invertida' << endl ;
cout << Org_str ;
tornar 0 ;
}

Sortida:
Aquí es representen les cadenes originals i invertides que hem obtingut utilitzant el mètode 'strrev()' al nostre codi.

Exemple 3:

En aquest cas, els fitxers de capçalera s'inclouen abans que s'afegeixi 'namespace std'. A continuació, s'invoca el 'main()' i s'afegeix la variable de cadena amb el nom 'myOrgStr' i s'inicia amb les dades de la cadena.

Després d'això, també declarem la variable 'int' 'a' i renderitzem la cadena 'myOrgStr' mitjançant 'cout'. A sota d'això, utilitzem el bucle 'for' on inicialitzem la variable 'a' amb 'myOrgStr.length() - 1' i després col·loquem una condició que sigui 'a >= 0' i la disminuïm en el valor de 'a'. ”. Això inverteix la nostra cadena i l'emmagatzema a 'myOrgStr[a]' i també la mostra mentre col·loquem 'myOrgStr[a]' dins del 'cout'.

Codi 3:

#include
#include
utilitzant espai de noms std ;
int principal ( )
{
cadena myOrgStr = 'Hola món!' ;
int a ;
cout << myOrgStr << endl << endl ;
cout << 'Corda invertida' <= 0 ; a -- )
{
cout << myOrgStr [ a ] ;
}
tornar 0 ;
}

Sortida:
Això representa tant les cadenes originals com les invertides que hem obtingut mitjançant el nostre codi mitjançant el mètode de bucle 'for'.

Exemple 4:

Aquí, importem el fitxer de capçalera 'bits/stdc++.h' de manera que no necessitem importar els altres fitxers de capçalera, ja que aquest fitxer de capçalera conté totes les definicions de la funció. A continuació, escrivim 'namespace std'. Aquí, creem una funció amb el nom 'Rev()' en la qual passem la 'cadena& myString' com a argument d'aquesta funció. Creem aquesta funció aquí per invertir la cadena.

En aquesta funció, col·loquem la variable 'S_len' del tipus de dades 'int' i la inicialitzem amb la funció 'length()' col·locant 'myString' amb això. Aleshores, tenim una altra variable que és 'no' de tipus de dades 'int' i la inicialitzem amb 'S_len-1'.

A sota d'això, s'inicialitza una variable més que s'anomena 'a' del tipus de dades 'int'. Aquí, utilitzem el bucle 'while()' i afegim 'a <= no' com a condició. A continuació, utilitzem el mètode 'swap()'. Aquest mètode 'swap()' ajuda a intercanviar les dades de la cadena i després inicialitza 'no' amb el 'no -1'. També inicialitzem “a” amb “a+1”.

A continuació, invoquem el 'main()' aquí en què inicialitzem la variable 'myString' amb les dades de la cadena i imprimim aquesta cadena. Després d'això, anomenem la funció 'Rev()' que hem creat en aquest codi i posem 'myString' com a paràmetre d'aquesta funció que inverteix la cadena i després mostra la cadena invertida.

Codi 4:

#inclou
utilitzant espai de noms std ;
buit Rev ( corda & myString )
{
int S_len = myString. llargada ( ) ;
int no = S_len - 1 ;
int a = 0 ;
mentre ( a <= no ) {
intercanviar ( myString [ a ] ,myString [ no ] ) ;
no = no - 1 ;
a = a + 1 ;
}

}
int principal ( )
{
string myString = 'M'encanta programar' ;
cout << myString << endl ;
cout << ' \n Cadena invertida' << endl ;
Rev ( myString ) ;
cout << myString ;
tornar 0 ;
}

Sortida:
Aquí, presentem tant la cadena original com la cadena invertida que hem obtingut utilitzant el bucle 'while()' i el mètode 'swap()' dins de la funció que hem creat al nostre codi.

Exemple 5:

Importem el fitxer de capçalera “bits/stdc++.h” amb totes les definicions de funció. Per tant, no necessitem importar cap altre fitxer de capçalera. A continuació, introduïm el 'namespace std' i cridem 'main()' aquí. Aleshores, tenim una variable 'data' del tipus de dades 'cadena' i la inicialitzem amb la cadena que volem revertir.

Renderem aquesta cadena original abans de revertir-la col·locant la variable 'data' al 'cout'. A sota d'això, inicialitzem una altra variable que és 'revStr' del mateix tipus de dades 'cadena'. A continuació, utilitzem els 'rbegin()' i 'rend()', que són els iteradors inversos que afegim per invertir la cadena aquí. La cadena invertida ara es desa a la variable 'revStr' que es col·loca al 'cout' per imprimir la cadena invertida aquí.

Codi 5:

#incloure
utilitzant espai de noms std ;
int principal ( )
{
dades de cadena = 'C++ és el millor llenguatge de programació' ;
cout << dades << endl << endl ;
cadena revStr = corda ( dades. començar ( ) , dades. fa ( ) ) ;

cout << revStr << endl ;
tornar 0 ;
}

Sortida:
La cadena que hem afegit al codi es representa aquí per primera vegada. A continuació, la cadena invertida que hem obtingut utilitzant els iteradors inversos es mostra a continuació:

Conclusió

El concepte de 'cadena inversa' a la programació C++ es tracta en aquest article on vam explorar diverses tècniques per invertir la cadena. Hem explorat tots els mètodes que ajuden a invertir la cadena en C++ en detall i hem invertit la cadena als nostres codis C++. En aquest article, vam mostrar les cadenes originals i invertides dels nostres codis.