Informatică, întrebare adresată de Ghon16, 9 ani în urmă

Se citesc n nr nat. Sa se afiseze cate dintre ele sunt palindrom

Răspunsuri la întrebare

Răspuns de theodorastefanotc95g
4
Pseudocoddi: naux: copie, oglindit
citeste n

copie←n
┌cat timp d!=0
│ invers←invers*10+n%10
│ n←n/10
└■
┌daca copie==invers
│ atunci scrie „Este palindrom.”
│ altfel scrie „Nu e palindrom.”
└■

Vei porni cu un numar n, care este introdus din tastatura. Deoarece pe parcursul algoritmului valoarea lui n degenereaza, adica isi schimba valoarea. De aceea vom memora valoarea initiala a lui n intr-o alta variabila, numita sugestiv copie. Vom calcula inversul numarului: cat timp n este diferit de zero, inversului i se atribuie valoarea data de suma dintre invers*10 + ultima cifa a lui n. Este vorba despre scrierea in baza zece. De exemplu, un numar abc este egal cu cifra sutelor ori a + cifra zecilor ori 10 + cifra unitatilor ori 1. Dupa ce am calculat inversul, il vom compara cu valoarea initiala, memorata in copie. Daca cele doua valori coincid, numarul este palindrom. In caz contrar, numarul nu este un palindrom.


Ghon16: Ms, sa traiesti!
Răspuns de stassahul
6
#include <bits/stdc++.h>

using namespace std;

int n;
char s[11];

int main()
{

    cin >> n;

    int k;

    for(int i=1;i<=n;i++)
    {
        k=0;
        cin >> s;
        for(int j=0;j<=(strlen(s)-1)/2;j++)
            if(s[j]!=s[strlen(s)-1-j])
                k=1;
        if(k==0)
            cout << "Este palindrom\n";
        else
            cout << "Nu este palindrom\n";
    }

    return 0;

}

Alte întrebări interesante