Käänteinen merkkijono C++:ssa

Kaanteinen Merkkijono C Ssa



Monissa C++-ohjelmointiskenaarioissa voi olla tarpeen kääntää merkkijono. Merkkijonon kääntämiseen kuuluu merkkijonon merkkijärjestyksen muuttaminen ja sen asettaminen käänteiseen järjestykseen tai se voi vain tulostaa merkkijonon taaksepäin. Ainoa mitä merkkijonon kääntämiseen tarvitaan, on siirtää sen viimeinen elementti merkkijonon alkupaikkaan ja niin edelleen. Joissakin tilanteissa voi olla tarpeen kääntää merkkijono sen osoitteessa pysyvästi. C++ tarjoaa erilaisia ​​menetelmiä merkkijonon kääntämiseen.

Tekniikat merkkijonon kääntämiseen C++-ohjelmoinnissa

Kehittelemistämme koodispesifikaatioista riippuen on olemassa useita tekniikoita merkkijonojen kääntämisen toteuttamiseksi C++-ohjelmoinnissa. Nämä tekniikat ovat:

  • 'Reverse()'-menetelmän käyttäminen
  • 'strrev()'-menetelmän käyttäminen
  • 'for'-silmukan käyttäminen
  • 'While'-silmukan käyttäminen
  • Rakentajaa hyödyntäen

Esimerkki 1:

Ensin tuomme kolme erillistä otsikkotiedostoa, jotka ovat 'algoritmi', 'iostream' ja 'string'. Meidän on sisällytettävä nämä otsikkotiedostot, jotta voimme hyödyntää niissä määritettyjä toimintoja. 'Algoritmi'-otsikkotiedosto sisältää lukuisia käytettävissämme olevia sisäänrakennettuja toimintoja löytää, lajitella, laskea, muokata jne.







Sitten 'iostream' tarjoaa toimintoja tietojen syöttämiseen tai tulostamiseen, ja 'merkkijono'-otsikkotiedosto sisällytetään, koska se tarjoaa toiminnot, joita tarvitaan työskennellessään merkkijonotietojen kanssa. Näiden otsikkotiedostojen alle lisäämme 'std'-nimitilan. Tässä vedotaan 'main()'-funktioon.



Sitten asetamme 'merkkijono'-tietotyypin ja alustamme 'originalStr' tähän jollakin merkkijonodatalla. Sitten tulostamme sen merkkijonon. Tämän jälkeen käytämme 'reverse()' -menetelmää, joka auttaa kääntämään merkkijonoa. Tässä 'reverse()'-menetelmässä lisäämme 'begin()' ja 'end()' sekä 'originalStr'-muuttujan. Nyt tulostamme myös tämän käänteisen merkkijonon, jonka saamme 'käänteisen()'-menetelmän soveltamisen jälkeen.



Koodi 1:





#include
#include
#sisällytä
käyttämällä nimiavaruus std ;
int pää ( )
{
merkkijono alkuperäinenStr = 'Jojon käänteinen C++-ohjelmointi' ;
cout << 'Alkuperäinen merkkijono!' << endl ;
cout << alkuperäinenStr << endl << endl ;
käänteinen ( alkuperäinenStr. alkaa ( ) , alkuperäinenStr. loppu ( ) ) ;
cout << 'Käänteinen merkkijono!' << endl ;
cout << alkuperäinenStr ;
palata 0 ;
}

Lähtö:
Käänteinen merkkijono, jonka saamme sen jälkeen, kun käytämme koodissamme 'reverse()' -menetelmää, hahmonnetaan nyt yhdessä alkuperäisen merkkijonon kanssa.



Esimerkki 2:

Sisällytämme ensin otsikkotiedostot ja sitten 'namespace std'. Sitten 'main()'-menetelmässä alustamme merkkijonon asettamalla tietotyypin 'char' muuttujan nimellä 'Org_str' ja kirjoitamme tähän merkkijonon, jonka haluamme kääntää. Sitten hahmonnamme tämän 'Org_str':n 'cout' avulla.

Tämän alapuolella käytämme 'strrev()'-menetelmää kääntämään merkkijono ja välittämään 'Org_str' parametrina tässä funktiossa. Nyt merkkijono on käännetty tässä. Tämän jälkeen käännetty merkkijono käännetään myös 'cout' avulla.

Koodi 2:

#include
#include
käyttämällä nimiavaruus std ;
int pää ( )
{
hiiltyä Org_str [ ] = 'String Reverse Program' ;
cout << Org_str << endl << endl ;
strrev ( Org_str ) ;
cout << 'Käänteinen merkkijono' << endl ;
cout << Org_str ;
palata 0 ;
}

Lähtö:
Täällä hahmonnetaan alkuperäiset ja käänteiset merkkijonot, jotka saimme käyttämällä koodissamme strrev()-menetelmää.

Esimerkki 3:

Tässä tapauksessa otsikkotiedostot sisällytetään ennen 'nimiavaruuden std' lisäämistä. Sitten 'main()' kutsutaan ja merkkijonomuuttuja lisätään nimellä 'myOrgStr' ja alustetaan merkkijonodatalla.

Tämän jälkeen ilmoitamme myös 'int'-muuttujan 'a' ja renderöimme 'myOrgStr'-merkkijonon käyttämällä 'cout'. Tämän alapuolella hyödynnetään 'for'-silmukkaa, jossa alustetaan 'a'-muuttuja 'myOrgStr.length() – 1':llä ja asetetaan sitten ehto, joka on 'a >= 0' ja vähennetään sitä arvolla 'a'. ”. Tämä kääntää merkkijonomme ja tallentaa sen 'myOrgStr[a]'-kansioon ja näyttää sen myös, kun asetamme 'myOrgStr[a]':n 'cout' sisään.

Koodi 3:

#include
#sisällytä
käyttämällä nimiavaruus std ;
int pää ( )
{
merkkijono myOrgStr = 'Hei maailma!' ;
int a ;
cout << myOrgStr << endl << endl ;
cout << 'Käänteinen merkkijono' <= 0 ; a -- )
{
cout << myOrgStr [ a ] ;
}
palata 0 ;
}

Lähtö:
Tämä hahmontaa sekä alkuperäiset että käänteiset merkkijonot, jotka saimme koodimme kautta käyttämällä 'for' -silmukkamenetelmää.

Esimerkki 4:

Täällä tuomme 'bits/stdc++.h' otsikkotiedoston, joten meidän ei tarvitse tuoda muita otsikkotiedostoja, koska tämä otsikkotiedosto sisältää kaikki funktion määritelmät. Sitten kirjoitamme 'nimiavaruuden std'. Täällä luomme funktion nimellä 'Rev()', jossa välitämme 'string& myString' tämän funktion argumentiksi. Luomme tämän funktion tänne kääntääksemme merkkijonon.

Tässä funktiossa asetamme tietotyypin 'int' muuttujan 'S_len' ja alustamme sen 'length()'-funktiolla asettamalla 'myString' tähän. Sitten meillä on toinen muuttuja, joka on 'no' ja 'int' tietotyyppi ja alusta se 'S_len-1'.

Tämän alle alustetaan vielä yksi muuttuja, joka on nimeltään 'a' tietotyypistä 'int'. Tässä käytämme 'while()'-silmukkaa ja lisäämme 'a <= no' ehdoksi. Sitten käytämme 'swap()' -menetelmää. Tämä 'swap()'-menetelmä auttaa vaihtamaan merkkijonotietoja ja alustaa sitten 'no':lla 'no -1'. Alustamme myös 'a':lla 'a+1'.

Tämän jälkeen kutsumme 'main()':n, jossa alustamme 'myString'-muuttujan merkkijonotiedoilla ja tulostamme tämän merkkijonon. Tämän jälkeen kutsumme tässä koodissa luomamme 'Rev()'-funktiota ja laitamme tämän funktion parametriksi 'myString', joka kääntää merkkijonon ja näyttää sitten käänteisen merkkijonon.

Koodi 4:

#include
käyttämällä nimiavaruus std ;
mitätön Rev ( merkkijono & myString )
{
int S_len = myString. pituus ( ) ;
int Ei = S_len - 1 ;
int a = 0 ;
sillä aikaa ( a <= Ei ) {
vaihtaa ( myString [ a ] ,myString [ Ei ] ) ;
Ei = Ei - 1 ;
a = a + 1 ;
}

}
int pää ( )
{
merkkijono myString = 'Rakastan ohjelmointia' ;
cout << myString << endl ;
cout << ' \n Käänteinen merkkijono' << endl ;
Rev ( myString ) ;
cout << myString ;
palata 0 ;
}

Lähtö:
Tässä esittelemme sekä alkuperäisen merkkijonon että käänteisen merkkijonon, jonka saimme käyttämällä 'while()'-silmukkaa ja 'swap()'-menetelmää koodissamme luomassamme funktiossa.

Esimerkki 5:

Tuomme 'bits/stdc++.h'-otsikkotiedoston kaikkine funktiomäärityksineen. Siksi meidän ei tarvitse tuoda muita otsikkotiedostoja. Seuraavaksi kirjoitamme 'nimiavaruuden std' ja kutsumme 'main()' tähän. Sitten meillä on muuttuja 'data', jonka tietotyyppi on 'merkkijono', ja alusta se merkkijonolla, jonka haluamme kääntää.

Suoritamme tämän alkuperäisen merkkijonon ennen sen kääntämistä asettamalla 'data' -muuttujan 'cout' -kenttään. Tämän alapuolella alustamme toisen muuttujan, joka on 'revStr', joka on samaa 'merkkijono'-tietotyyppiä. Sitten käytämme 'rbegin()' ja 'rend()', jotka ovat käänteisiä iteraattoreita, jotka lisäämme merkkijonon kääntämiseksi tähän. Käänteinen merkkijono on nyt tallennettu 'revStr'-muuttujaan, joka sijoitetaan 'cout'-kenttään, jotta käänteinen merkkijono tulostetaan tähän.

Koodi 5:

#sisältää
käyttämällä nimiavaruus std ;
int pää ( )
{
merkkijonotiedot = 'C++ on paras ohjelmointikieli' ;
cout << tiedot << endl << endl ;
merkkijono revStr = merkkijono ( tiedot. rbegin ( ) , dataa. tekee ( ) ) ;

cout << revStr << endl ;
palata 0 ;
}

Lähtö:
Koodiin lisäämämme merkkijono hahmonnetaan ensin täällä. Sitten käänteinen merkkijono, jonka saimme käyttämällä käänteisiä iteraattoreita, näytetään seuraavassa:

Johtopäätös

C++-ohjelmoinnin 'merkkijonon kääntämisen' käsitettä käsitellään tässä artikkelissa, jossa tutkimme useita tekniikoita merkkijonon kääntämiseksi. Tutkimme yksityiskohtaisesti kaikkia menetelmiä, jotka auttavat kääntämään merkkijonon C++:ssa, ja käänsimme merkkijonon C++-koodeissamme. Tässä artikkelissa näytimme koodiemme alkuperäiset ja käänteiset merkkijonot.