Hvordan skrive et program for å sjekke om en streng er en Palindrome eller ikke

Palindromer er ord som har samme tegn både forover og bakover. De er ikke store og små bokstaver, og ikke ta tegnsetting og tomrom i betraktning, så husk å fjerne disse tegnene fra strengene før testing strengen. "Radar" og "racerbil" er begge eksempler på palindromer. Du kan skrive en funksjon for å se etter palindromes i alle programmeringsspråk som C ++, Visual Basic eller PHP, men syntaksen for hvert språk og funksjonene du trenger varierer i hver.

Bruksanvisning

C ++

1 Åpne et C ++ program fil. Sett markøren på toppen av filen.

2 Skriv inn følgende kode:

inkluderer <iostream> inkluder <string>

bruker namespace std;

Disse linjene inkluderer de nødvendige header-filer og sette navne å bruke.

3 Sett markøren der du ønsker å se etter palindromer. Skriv inn følgende kode:

string ord;

bool palindrome;

cout << "Skriv inn en streng:";

cin >> ord;

Den første linje skaper en streng variabel. Den andre skaper en boolsk variabel som holder verdien av om strengen er en palindrom eller ikke. Den tredje linjen ber brukeren om å skrive inn en streng og den fjerde lagrer det til strengvariabelen.

4 Skriv inn følgende kode:

for (int x = 0; x <word.length () - 1; x ++) {

if (ordet [x]! = '') {

if (! tolower (word [x]) = tolower (word [word.length () - (x + 1)])) {

palindrome = false;

gå i stykker;

}

else {palindrome = true; }

}

}

Den for loop begynner å sjekke strengen. Den første hvis setningen sjekker for å se om karakteren er et mellomrom. Hvis ja, den hopper over det. Den neste hvis setningen konverterer strengen til små bokstaver og sjekker det mot reversert strengen, tegn for tegn. Hvis noen av tegnene ikke svarer, funksjonen bryter fordi strengen er ikke et palindrom. Ellers er det et palindrom og den boolske variabelen er satt til true.

5 Skriv inn følgende kode:

if (palindrome) cout << "Strengen er et palindrom";

annet domstol << "Strengen er ikke et palindrom";

Disse linjene sjekke palindrom variabel, og hvis det er sant, det informerer brukeren strengen er et palindrom. Hvis ikke, forteller det at brukeren er det ikke.

Visual Basic

6 Åpne en ny Visual Basic program. Dobbeltklikk etiketten, TextBox og Button kontroller for å legge en av hver til skjemaet. Ordne dem slik du ønsker.

7 Dobbeltklikk på "Button1" kontrollen for å åpne "button1_click" subrutine. Skriv inn følgende kode:

Dim frem As String = UCase (TextBox1.Text)

fremover = Skift (forover, "", "")

Dim bakover As String = StrReverse (fremover)

Den første linje skaper en streng variabel. Det får melding om at brukeren skriver inn i tekstboksen og konverterer tegnene til store bokstaver. Den andre linjen fjerner alle mellomrom i strengen. Den tredje linjen lager en kopi av den opprinnelige strengen, men reverserer tegnene.

8 Skriv inn følgende kode:

Hvis fremover = bakover Deretter

Label1.Text = "Strengen er et palindrom."

Ellers

Label1.Text = "Strengen er ikke et palindrom."

Slutt om

Hvis setningen sjekker for å se om de to strengene er like. Hvis de er, den opprinnelige strengen brukeren har skrevet er et palindrom. Hvis de ikke er like, er strengen ikke et palindrom.

PHP

9 Åpne en HTML-fil. Sett markøren der du ønsker å se etter palindromer.

10 Skriv inn følgende kode:

<Form action = "" method = "post">

Skriv inn et ord: <input type = "text" name = "ord">

<Input type = "submit" name = "submit" value = "Sjekk">

</ Form>

Dette skaper en form som ber brukeren om å skrive inn en streng i en tekstboks. Når brukeren klikker på send-knappen, går skjemaet strengen til PHP-funksjonen.

11 Skriv inn følgende kode:

<? Php

if (isset ($ _ POST [ 'ordet'])) {

$ Ord = strtolower ($ _POST [ 'ordet']);

$ Mønstre = array ( '/ /', '/ [^ \ sa-Z0-9] /');

$ Ord = preg_replace ($ mønstre, '', $ ord);

if ($ ordet == strrev ($ word)) {echo 'Strengen er et palindrom.';

} Else {echo 'Strengen er ikke et palindrom.'; }

}

?>

Den første linjen åpner en PHP-koden. Den andre sjekker om brukeren har sendt inn en streng, og hvis så, det blir strengen, konverterer alle tegn til små og lagrer det til en variabel. Den neste linjen oppretter en matrise med mønstre for å erstatte i strengen, slik som tegnsetting og mellomrom. Funksjonen bruker deretter "preg_replace" funksjon for å fjerne de ekstra tegn fra strengen. Til slutt, den funksjon kontrollerer for å se om strengen er lik den motsatte av strengen, og hvis så, informerer brukeren om at strengen er en palindrom, og hvis ikke, forteller brukeren strengen er ikke.