Omvendt ord i en streng ved hjelp av C ++

Omvendt ord i en streng ved hjelp av C ++
En strengvariabel består av en samling tegn omgitt av doble sitater. Denne C ++ -artikkelen vil gå over hvordan du kan snu ord i en streng ved hjelp av innebygde og andre funksjoner.

Reversing eller helt å snu en streng i C ++ innebærer å endre sekvensen til tegnene i strengen for å vises bakover. Avhengig av behovene til programmet du implementerer, kan vi bruke en rekke implementeringer for å snu en streng.

Eksempel 1: Bruk av den innebygde reverseringsfunksjonen for å reversere ord i en streng i C++

C ++ inkluderer en omvendt funksjon for reversering av strenger. Strengen som starter iterator og streng end iterator er de eneste to parametrene som er akseptert av denne funksjonen. Den påfølgende kodelinjen viser bruken av denne funksjonen.

Til å begynne med har vi inkludert overskriftsfilen i koden. Iostream -filen og STDC -filen. Denne STDC -filen vil gjøre omvendt strengfunksjon her. STD -navnefilen er også gitt, noe som muliggjør bruk av klasser og funksjoner i koden.

Deretter har vi programmets hovedfunksjon, og i hovedfunksjonen har vi en strengvariabel erklæring som "strValue". Samtidig har vi initialisert det med ordet. Utgangsstrengen vises gjennom C ++ COUT -kommandoen. Etter dette bruker vi en funksjon som heter “Reverse”. Funksjonen “omvendt” inntak to parametere. Den første parameteren er start (), og den andre parameteren er enden () iteratoren som itererer over den spesifiserte strengen med ord. Begynnende () -funksjonen returnerer en iterator som refererer til beholderens første element.

På den annen side returnerer enden () iteratoren en iterator som refererer til beholderens siste element. Det omvendte strengordet vil bli skrevet ut etter den reverseringsfunksjonen.

#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()
String strvalue = "utmerket";
cout<<"String:"<Omvendt (strValue.Begynn (), strValue.slutt());
cout<<"Reverse String:"<

Resultatene av strengen, så vel som den omvendte strengen, vises i følgende bilde:

Eksempel 2: Bruk av for loop for å reversere ord i en streng i C++

En sløyfe er nyttig for å reversere en streng. For å endre plasseringene av elementer, vil vi bruke byttefunksjonen, som er en innebygd metode for C++. La oss diskutere følgende kodebit for å snu en streng.

Vi har lagt til toppfilene i koden. I neste trinn har vi påkalt hovedfunksjonen, der vi implementerer koden for å reversere en streng. Først har vi definert en strengvariabel “MyString”. Strengvariabelen “MyString” inneholder et ord om streng “Kalsoom”, som vi må bruke omvendt metode. Vi har vist strengen med cout -setningen. Deretter har vi erklært en int -variabel "strlen", som har kalt lengdefunksjonen for den gitte strengen. Vi har også erklært en annen INT-variabel "S" for å beholde "Strlen-1". Prosedyren “Strlen-1” trenger strengens lengde opp til karakteren i siste stilling.

Deretter har vi en byttealgoritme der "temp" brukes til å lagre elementene i "røye" på indeksen "i" slik at vi kan bytte den ut med røyeelementene på indeksen "S" senere. Den reverserte strengen til dette programmet vises deretter. Etter det har vi en for sløyfetilstand som vil reversere ordet i den spesifiserte strengen.

#inkludere
ved hjelp av navneområdet STD;
int main ()
String myString = "Kalsoom";
cout<<"Original String: "<int strlen = myString.lengde();
int s = strlen-1;
for (int i = 0; i<(strlen/2);i++)
char temp = myString [i];
MyString [i] = myString [s];
MyString [s] = temp;
S = S-1;

cout<<"Reversed String: "<

Du kan se den originale strengen “Kalsoom” og motsatt av den gitte strengen på Ubuntu -ledeteksten.

Eksempel 3: Bruk av en funksjon for å reversere ord i en streng i C++

Rekursjon brukes også til å lage en omvendt strengfunksjon. Den påfølgende kodeillustrasjonen demonstrerer hvordan vi kan snu strengen via funksjonen.

I det første trinnet har vi en funksjon som heter “Revstr”, og konstruktøren genereres også for denne funksjonen. Konstruktøren tar strengreferansen, heltallvariabelen “I”, og den andre heltallvariabelen “J”. I funksjonen "Revstr" har vi IF -tilstanden og byttefunksjonen, som bytter indeksen "i" med indeksen "j". Funksjonen “Revstr” blir kalt for neste ord i strengen for å reversere.

Til slutt har hovedfunksjonen COUT -kommandoen som brukes til å skrive ut strengen før omvendt metode og etter omvendt metode.

#inkludere
ved hjelp av navneområdet STD;
void revstr (String & str, int i, int j)
hvis jeg<=j)return;
SWAP (Str [i], str [j]);
Revstr (Str, I-1, J+1);

int main ()
String mystr = "linux";
cout<<"String: "<Revstr (Mystr, Mystr.lengde ()-1,0);
cout<<"Reversed String: "<

Følgende skjermbilde viser utgangen fra strengen før og etter påføring av funksjonen:

Eksempel 4: Opprette en ny streng for å reversere ord i en streng i C++

Løyfe bakover over en streng og å holde innholdet i en ny streng av samme størrelse er en rundkjøringsmetode for å snu det. Push-back () -metoden kan legge til tegn til en tom streng.

I det følgende programmets hovedfunksjon har vi erklært en strengvariabel “StringOne” og lagret et ord av streng i den. Deretter har vi erklært en annen variabel, "new_string". For -loopen brukes til strengvariabelen “StringOne”, som itererer over det siste tegnet i strengen og returnerer strengen i omvendt rekkefølge. Deretter, med Push_back () -metoden, har vi lagt til strengverdien som er returnert fra for -loopen til New_String. Til slutt vil strengen og den omvendte strengen bli skrevet ut.

#inkludere
ved hjelp av navneområdet STD;
int main ()
String StringOne = "Programmering";
String new_string;
for (int s = stringOne.lengde ()-1; s> = 0; s-)
new_string.push_back (StringOne [s]);

cout<<"String: "<cout<<"Reversed string: "<

Følgende resultater vises at strengen blir reversert etter det forrige programmets utførelse:

Konklusjon

Her snudde vi strengen med ord ved å utforske mulige måter å snu strengen i C++. Vi har snudd strengen med C ++ innebygd funksjon, loopmetoden og funksjonen, og opprettelsen av en ny streng. Alle resultatene oppnådd fra disse metodene for å reversere strengmetoder har bevist resultater ved å bruke C ++ -kompilatoren i Ubuntu 20.04.