Sjekk for palindrome C ++

Sjekk for palindrome C ++
Vi bruker vanligvis strenger i programmene våre ved å bruke forskjellige operasjoner på dem. Noen ganger oppstår en slik situasjon når det er behov for å få den resulterende verdien i omvendt rekkefølge. De samme bokstavene i strengen med omvendt rekkefølge er kjent som en 'palindrome'. I C ++ er det flere måter å sjekke om strengen eller numeriske verdiene er palindromes. I denne guiden har vi brukt tre forskjellige tilnærminger for å sjekke statusen til strengen.

Eksempeleksempel:

Input String: Godog

Omvendt: Godog

Produksjon: Det er en palindrome fordi det motsatte tilsvarer inngangsstrengen.

Gjennomføring

Eksempel 1

I dette eksemplet vil vi ta en streng som en inngang og vil sjekke om det motsatte av den strengen er den samme eller ikke. Vi vil gå for en enkel tilnærming der vi vil bruke en innebygd funksjon av C ++ 'Reverse' -funksjonen direkte for å lage motsatt av strengen. Men i starten må vi inkludere et bibliotek som vil gjøre programbrukeren i stand til å arve noen moduler og funksjoner som er inkludert i overskriftsfilen.

#inkludere

Etter å ha introdusert biblioteket, opprettes en funksjon som heter 'ISPalindrome' for å sjekke om den gitte strengen er en palindrome. Det vil ta strengen som en parameter fordi funksjonen omvendt vil bli brukt på denne strengen. En variabel av strengtype vil lagre det vedtatte argumentet, og senere vil denne variabelen bli brukt. Vi vil kalle den innebygde funksjonen, som vil inneholde to parametere. Disse to parametrene selv er innebygde funksjoner i C++. BEGIN () -funksjonen omhandler å returnere strengens første karakter. Samtidig er slutt () -funksjonen den som returnerer iteratoren som peker mot endekarakteren til strengen. Begge funksjonene får tilgang til via strengvariabelen. Disse funksjonene er funksjonene i strengfunksjoner.

Omvendt (s.Begynn (), P.slutt());

Som et resultat blir start- og sluttkarakterene byttet ut. Så bruker vi en if-ests-setning for å sjekke den omvendte strengen hvis den ligner på den angitte strengen eller ikke. Hvis det samsvarer med, vises meldingen 'ja'; Ellers er det 'nei'.

Utenfor funksjonsorganet er hovedprogrammet erklært her. En streng blir introdusert her. Strengen 'abcdcba' inneholder 7 bokstaver; De første 3 og de tre siste bokstavene er de samme. Så når du reverserer dem, vil den resulterende verdien være den samme.

ISPALINDROME (S);

Lagre kildekoden i filen med hvilken som helst navnutvidelse av 'C'. Og deretter kompilere det ved å bruke en kompilator. Kompilatoren som brukes til sammenstilling av programmeringsspråket C ++ er G++.

$ g ++ -o prøveprøveprøve.c
$ ./prøve

På filens utførelse vil du se at 'ja' er den resulterende verdien.

Eksempel 2

I dette eksemplet har vi involvert brukeren. Vi vil be brukeren om å oppgi ønsket verdi, slik at systemet kan sjekke og vise resultatet. Biblioteket som brukes til programmet er 'iostream'; På grunn av dette biblioteket kan vi utføre CIN- og Cout -funksjoner; Brukeren kan med andre ord samhandle med programmet ved å bruke denne overskriftsfilen.

#inkludere

I denne funksjonen trenger vi ikke å bruke den innebygde omvendte funksjonen, 'omvendt' i programmet. En annen tilnærming brukes her som bruker involvering av do-mens Loop. Her brukes hele logikken i hovedprogrammet i stedet for å bruke en egen funksjon. Vi erklærer fire heltallstypevariabler. Den ene vil lagre verdien som er lagt inn av brukeren. Så det første trinnet er å be brukeren oppgi verdien. Variabelen som lagrer verdien.

Etter det vil do-mens-sløyfen bli brukt der antallet brukeren kommer inn i vil bli utsatt for å ha en modul på 10. Deretter multipliseres verdien av omvendt som opprinnelig ble initialisert som null multiplisert med 10. Dette vil være null igjen, men ved å følge reglene må vi gjøre det slik at verdien legges til verdien som er lagret i sifret variabel. Og på slutten er tallet delt med 10. Tilstanden som er lagt inn i mens loopen er at sløyfen vil fortsette iterasjonen til tallvariabelen må verdsette.

Vis det motsatte av strengen. Og bruk en if-ests-uttalelse for å sjekke palindrome naturen til den gitte strengen. Hvis den reverserte verdien er lik den angitte, vises meldingen at tallet er en palindrome.

Ved utførelse vil du se at når brukeren blir bedt om å oppgi verdien, har han skrevet inn '1221'. Dette inneholder 4 bokstaver, og starttallene tilsvarer slutt. Så det motsatte vil være det samme, og derfor er det en palindrome.

Hvis vi går inn i '56756'. Denne gangen er ikke verdiene i start og endene like, så det motsatte vil ikke være de samme; Derfor vil ikke dette tallet være en palindrome.

Eksempel 3

I dette eksemplet har vi brukt tre biblioteker for å støtte vår kildekode. To av dem er beskrevet tidligere. Den tredje er at den tar strengverdien slik at vi bruker strengfunksjonen separat.

#inkludere

I hovedprogrammet vil strengvariabelen bli erklært som en streng i en karakteroppstilling, så karakteroppstillingen på 100 størrelser er initialisert her.

Char S1 [100].

Dette eksemplet inkluderer også involvering av brukeren. Så brukeren vil legge inn verdien av hans ønske. Igjen vil vi ikke bruke systemet til å definere metoden, den innebygde funksjonen, 'revers'. En stundsløyfe brukes, som vil iterere til den avsluttende karakteren er inne i karakteroppstillingen til slutten. Inne i stundsløyfen legges strengtegnet i variabelen. En heltallstypevariabel vil inneholde verdien oppnådd ved å trekke fra en fra verdien ved den spesifiserte indeksen.

N1 = i - 1;

Karakteren vil ta tillegg av verdi i en spesifisert indeks og 1. 'N' brukes til å vise størrelsen på strengen.

Dataklogikken vil også inneholde en stundsløyfe, ettersom den er strengen, så for å få tilgang til hvert tegn; Vi trenger en sløyfe.

S2 [i] = s1 [n - i -1];
i ++;

Dette vil beregne omvendt verdi, og den vises da. Tilsvarende, hvis det motsatte er det samme, vil den vises som en palindrome. Ellers er det ikke. Nå vil vi utføre filen for å se resultatene. Brukeren vil bli bedt om å oppgi verdien, det totale antallet vil bli beregnet, og resultatet vises, noe som betyr at strengen er en palindrome.

En numerisk verdi legges inn; Dets motsatte er ikke lik, så det er ikke en palindrome.

Konklusjon

Artikkelen 'Sjekk for Palindrome C ++' handler om sjekkprosessen for inngangserklæringen hvis det er en palindrome eller ikke. Dette gjøres ved å ha det motsatte og sammenligne det med inngangsverdien. Vi har gjennomgått tre forskjellige metoder. Vi er håpefulle denne artikkelen vil være gunstig for brukerne.