String Reverse C++

String Reverse C



Daugelyje C++ programavimo scenarijų gali prireikti pakeisti eilutę. Keičiant eilutę reikia pakeisti simbolių tvarką eilutėje ir nustatyti ją atvirkštine tvarka, arba tai gali būti tiesiog eilutės spausdinimas atgal. Viskas, ko reikia norint pakeisti eilutę, yra perkelti galutinį elementą į pradinę eilutės vietą ir pan. Kai kuriais atvejais gali tekti visam laikui pakeisti eilutę jos adresu. C++ siūlo įvairius būdus, kaip pakeisti eilutę.

C++ programavimo eilutės apvertimo būdai

Priklausomai nuo mūsų kuriamų kodo specifikacijų, yra keletas būdų, kaip įdiegti eilučių apvertimą C++ programavime. Šios technikos yra:

  • Naudojant 'reverse()' metodą
  • Naudojant „strrev()“ metodą
  • Naudojant kilpą „už“.
  • Naudojant „when“ kilpą
  • Naudojant konstruktorių

1 pavyzdys:

Pirma, importuojame tris skirtingus antraštės failus, kurie yra „algoritmas“, „iostream“ ir „string“. Turime įtraukti šiuos antraštės failus, kad naudotume juose apibrėžtas funkcijas. „Algoritmo“ antraštės faile yra daugybė mums prieinamų įtaisytųjų funkcijų, skirtų rasti, rūšiuoti, skaičiuoti, modifikuoti ir kt.







Tada „iostream“ teikia funkcijas, skirtas duomenims įvesti arba išvesti, ir įtraukiamas „eilutės“ antraštės failas, nes jis teikia funkcijas, reikalingas dirbant su eilutės duomenimis. Po šiais antraščių failais pridedame „std“ vardų erdvę. Čia mes iškviečiame funkciją „main ()“.



Tada įdedame duomenų tipą „eilutė“ ir inicijuojame „originalStr“ su kai kuriais eilutės duomenimis. Tada atspausdiname tą eilutę. Po to mes naudojame 'reverse()' metodą, kuris padeda pakeisti eilutę. Taikant šį „reverse()“ metodą, pridedame „begin()“ ir „end()“ kartu su kintamuoju „originalStr“. Dabar taip pat spausdiname šią atvirkštinę eilutę, kurią gauname pritaikę „reverse ()“ metodą.



1 kodas:





#include
#include
#įtraukti
naudojant vardų erdvė std ;
tarpt pagrindinis ( )
{
eilutė originalStr = 'String Reverse C++ programavimas' ;
cout << 'Originalinė eilutė!' << endl ;
cout << originalStr << endl << endl ;
atvirkščiai ( originalStr. pradėti ( ) , originaliStr. galas ( ) ) ;
cout << 'Atvirkštinė styga!' << endl ;
cout << originalStr ;
grąžinti 0 ;
}

Išvestis:
Atvirkštinė eilutė, kurią gauname pritaikę „reverse()“ metodą savo kode, dabar pateikiama kartu su pradine eilute.



2 pavyzdys:

Pirmiausia įtraukiame antraštės failus, o tada įdedame vardų sritį std. Tada, naudodami „main()“ metodą, inicijuojame simbolių masyvą, įvesdami duomenų tipą „char“ su kintamojo pavadinimu „Org_str“ ir čia įveskite eilutę, kurią norime pakeisti. Tada mes pateikiame šį „Org_str“ naudodami „cout“.

Po juo mes naudojame „strrev()“ metodą, norėdami pakeisti eilutę ir perduoti „Org_str“ kaip šios funkcijos parametrą. Dabar čia eilutė apversta. Po to mes taip pat pateikiame atvirkštinę eilutę naudodami „cout“.

2 kodas:

#include
#include
naudojant vardų erdvė std ;
tarpt pagrindinis ( )
{
char Org_str [ ] = 'Styginių atvirkštinė programa' ;
cout << Org_str << endl << endl ;
strrev ( Org_str ) ;
cout << 'Atvirkštinė eilutė' << endl ;
cout << Org_str ;
grąžinti 0 ;
}

Išvestis:
Čia pateikiamos originalios ir atvirkštinės eilutės, kurias gavome naudodami „strrev()“ metodą savo kode.

3 pavyzdys:

Tokiu atveju antraštės failai įtraukiami prieš įtraukiant vardų sritį std. Tada iškviečiamas „main()“, o eilutės kintamasis pridedamas pavadinimu „myOrgStr“ ir inicijuojamas su eilutės duomenimis.

Po to taip pat deklaruojame „int“ kintamąjį „a“ ir „myOrgStr“ eilutę pateikiame naudodami „cout“. Žemiau mes naudojame „for“ kilpą, kurioje inicijuojame „a“ kintamąjį su „myOrgStr.length() – 1“, tada įdedame sąlygą, kuri yra „a >= 0“, ir sumažiname ją „a“ reikšme. “. Tai apverčia mūsų eilutę ir išsaugo ją „myOrgStr[a]“, taip pat rodo ją, kai įdedame „myOrgStr[a]“ į „cout“.

3 kodas:

#include
#įtraukti
naudojant vardų erdvė std ;
tarpt pagrindinis ( )
{
eilutė myOrgStr = 'Labas pasauli!' ;
tarpt a ;
cout << myOrgStr << endl << endl ;
cout << 'Atvirkštinė eilutė' <= 0 ; a -- )
{
cout << myOrgStr [ a ] ;
}
grąžinti 0 ;
}

Išvestis:
Tai pateikia tiek originalias, tiek atvirkštines eilutes, kurias gavome naudodami kodą naudodami „for“ ciklo metodą.

4 pavyzdys:

Čia mes importuojame antraštės failą „bits/stdc++.h“, todėl mums nereikės importuoti kitų antraštės failų, nes šiame antraštės faile yra visi funkcijos apibrėžimai. Tada įvedame vardų sritį std. Čia sukuriame funkciją pavadinimu „Rev()“, kurioje kaip šios funkcijos argumentą perduodame „string& myString“. Čia sukuriame šią funkciją, kad pakeistume eilutę.

Šioje funkcijoje įdedame „int“ duomenų tipo kintamąjį „S_len“ ir inicijuojame jį funkcija „length()“, įdėdami „myString“. Tada turime kitą kintamąjį, kuris yra 'int' duomenų tipo 'ne', ir inicijuojame jį 'S_len-1'.

Po juo inicijuojamas dar vienas kintamasis, pavadintas „int“ duomenų tipo „a“. Čia naudojame kilpą „while()“ ir kaip sąlygą pridedame „a <= ne“. Tada mes naudojame „swap()“ metodą. Šis „swap()“ metodas padeda apsikeisti eilutės duomenimis, o tada inicijuoja „ne“ su „no -1“. Taip pat inicijuojame „a“ su „a+1“.

Tada iškviečiame „main()“, kuriame inicijuojame „myString“ kintamąjį su eilutės duomenimis ir išspausdiname tą eilutę. Po to mes iškviečiame funkciją „Rev()“, kurią sukūrėme šiame kode, ir kaip šios funkcijos parametrą įtraukiame „myString“, kuri apverčia eilutę ir rodo atvirkštinę eilutę.

4 kodas:

#include
naudojant vardų erdvė std ;
tuštuma Rev ( styga & myString )
{
tarpt S_len = myString. ilgio ( ) ;
tarpt Nr = S_len - 1 ;
tarpt a = 0 ;
kol ( a <= Nr ) {
apsikeisti ( myString [ a ] ,myString [ Nr ] ) ;
Nr = Nr - 1 ;
a = a + 1 ;
}

}
tarpt pagrindinis ( )
{
eilutė myString = 'Aš myliu programavimą' ;
cout << myString << endl ;
cout << \n Atvirkštinė eilutė' << endl ;
Rev ( myString ) ;
cout << myString ;
grąžinti 0 ;
}

Išvestis:
Čia pateikiame tiek originalią, tiek atvirkštinę eilutę, kurią gavome naudodami „while()“ kilpą ir „swap()“ metodą funkcijoje, kurią sukūrėme savo kode.

5 pavyzdys:

Importuojame „bits/stdc++.h“ antraštės failą su visais funkcijų apibrėžimais. Todėl mums nereikia importuoti jokių kitų antraščių failų. Tada įvedame „vardų erdvę std“ ir čia iškviečiame „main()“. Tada turime „stygos“ duomenų tipo kintamąjį „data“ ir inicijuojame jį su eilute, kurią norime pakeisti.

Pateikiame šią pradinę eilutę prieš ją apversdami, į „cout“ įdėdami kintamąjį „data“. Po juo inicijuojame kitą kintamąjį, kuris yra „revStr“, to paties tipo „eilutės“. Tada naudojame „rbegin()“ ir „rend()“, kurie yra atvirkštiniai iteratoriai, kuriuos pridedame norėdami pakeisti eilutę. Atvirkštinė eilutė dabar išsaugoma „revStr“ kintamajame, kuris dedamas į „cout“, kad čia būtų atspausdinta atvirkštinė eilutė.

5 kodas:

#įtraukti
naudojant vardų erdvė std ;
tarpt pagrindinis ( )
{
eilutės duomenys = 'C++ yra geriausia programavimo kalba' ;
cout << duomenis << endl << endl ;
eilutė revStr = styga ( duomenis. rbegin ( ) , duomenys. gamina ( ) ) ;

cout << revStr << endl ;
grąžinti 0 ;
}

Išvestis:
Pirmiausia čia pateikiama eilutė, kurią įtraukėme į kodą. Tada atvirkštinė eilutė, kurią gavome naudodami atvirkštinius iteratorius, rodoma taip:

Išvada

„Stygos atvirkštinio“ sąvoka C++ programavime aptariama šiame straipsnyje, kuriame išnagrinėjome keletą eilutės apvertimo būdų. Išsamiai ištyrėme visus metodus, padedančius pakeisti eilutę C++, ir apvertėme eilutę C++ koduose. Šiame straipsnyje mes parodėme originalias ir atvirkštines eilutes savo koduose.