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

Un număr natural se numește palindrom dacă numărul citit de la stânga la dreapta este egal cu numărul citit de la dreapta la stânga.
a) scrieți definiția completă a subprogramului Palindorm care primește prin intermediul parametrului n un număr natural de cel mult nouă cifre și returnează 1 dacă acesta este palindrom și 0 în caz contrar.
b) Fișierul text numere.in conține mai multe numere naturale de cel mult nouă cifre fiecare numerele fiind despărțite prin câte un spațiu. Cel puțin unul dintre numere este palindrom.
Scrieți un program C/C++care citește numerele în fișierul numere.in și folosind apeluri utile ale funcției Palindrom, determine în mod eficient care este cel mai mare număr palindrom citit. Programul scriem fiecare text numere.out numărul astfel determinat.
Exemplu:daca numere.in conține numerele:
23 567 78687 7865 78687 7887 23 78687 98798 atunci numere.out va conține: 78687
c) Descrieți succint un limbaj natural metoda de rezolvare folosind de la punctul b(3-4randuri).
Mulțumesc mult pentru ajutor!


artur99: Te descurci cu restul dacă ai funcția? :))
Ellena1234: Nu prea cred
Ellena1234: Dar cat de putin e util

Răspunsuri la întrebare

Răspuns de artur99
3
Secvența pentru a)
int Palindrom(int n){
    int t=0, s=n;
    while(n>0){
        t = t*10+n%10;
        n = n/10;
    }
    return t==s;
}

secvența pentru b)
int max=0, t;
ifstream f("numere.in");
ofstream g("numere.out");
while(!f.eof()){
    f>>t;
    if(Palindrom(t) && t>max) max = t;
}
g<<t;


Cred că te descurci să le așezi în program de aici :))
Alte întrebări interesante