Acest articol rezolvă problema implementării unui program (cod) în C ++ pentru a verifica dacă un cuvânt, șir sau număr este un palindrom. Programul ar trebui să ceară introducerea unei linii (nu este important acest cuvânt sau număr), pentru a verifica dacă este un palindrom și pentru a returna rezultatul.
Ce este un palindrom?
Un palindrom este un șir (sau un număr) care poate fi citit de la dreapta la stânga sau de la stânga la dreapta.
De exemplu, cuvântul "pisică" nu este palindrom, iar cuvântul "flood" este un palindrom. De asemenea, cu numere: numărul 12314 nu este un palindrom, numărul 345543 este un palindrom.
Înțelegând acest lucru, puteți începe implementarea algoritmului programului.
Funcția de verificare a unui cuvânt pe un tampon în C ++
Pentru a determina dacă un șir este un palindrom. vom scrie o funcție care ia un șir (un obiect șir) la intrare și returnează o valoare booleană pe ieșire (tip de date bool). Șirul va conține un cuvânt sau un număr pe care funcția o va verifica pentru palindrom. Valoarea de ieșire adevărată va corespunde faptului că șirul este un palindrom, falsul va corespunde faptului că șirul nu este un palindrom.
Rețineți că șirul este, în esență, o matrice unidimensională obișnuită.
Prin urmare, funcția va compara pur și simplu primul și ultimul element al matricei, apoi va compara cel de-al doilea și cel mai penultim element și așa mai departe la mijloc. Dacă toate sunt egale, atunci șirul este un palindrom. Nimic complicat.
Implementăm acest lucru sub formă de cod.
În primul rând, trebuie să determinați câte caractere sunt în șir, pentru aceasta folosim metoda length ().
Observați că există o condiție în buclă. Dacă elementul i nu este egal cu elementul len-i-1, atunci imediat false (Acesta nu este un palindrom).
Matricile in C ++ sunt numerotate de la 0, astfel încât pentru a obține primul element al șirului, avem nevoie pentru a obține elementul 0th de matrice, și acesta din urmă, avem nevoie pentru a obține len-1.
Cum funcționează funcția de verificare a palindromului
Să presupunem că avem cuvântul "motor", apoi len va fi egal cu 5.
Pentru a obține valoarea ultimei litere, trebuie să te referi la matricea liniei cu indexul len-1 = 4. Și pentru a obține valoarea primei litere, ne referim la elementul 0.
Pentru claritate, vizualizăm funcția:
1. Obțineți cuvântul "minge".
Comparați cu și pentru, sunt egale, mergeți mai departe.
Comparați o și o, sunt egale. Apoi ciclul se oprește. până la len / 2, iar acesta este 5/2 = 2. În C ++, rezultatul divizării întregi este un număr întreg cu partea fracționată aruncată.
5. Funcția returnează true la sfârșitul funcției. Ceea ce înseamnă că cuvântul este un palindrom.
Dacă, în timpul comparării literelor, sa dovedit că acestea NU sunt egale, atunci funcția va ieși imediat și va reveni false. Ceea ce înseamnă că cuvântul nu este un palindrom.
Utilizați funcția de verificare palindromă într-un program C ++
Acum, funcția noastră poate fi inserată într-un program în C ++ și utilizat. Să scriem o mică aplicație care cere utilizatorului să introducă un cuvânt (sau un număr) în consolă și apoi îi spune dacă cuvântul este un palindrom.
Codul pentru aplicația noastră este soluția la problema "Verificați dacă cuvântul este un palindrom în C ++"
Codul programului C ++: