Răspuns :
codul tău e trunchiat şi nu redă un tablou complet a algoritmului. Nu am înţeles dacă se dă un număr l-ai citit în n. Văd că folosesti vector, cred pentru cifrele numărului, dar nu văd unde ai generat acest vector.
Dar referitor la întrebarea ta, de ce se parcurge până la n/2, adică până la jumătatea vectorului...
fie vectorul tău are n=6 elemente numeratate, adic[ indexate de la 0 la 5
indicele i 0 1 2 3 4 5
vectorul 3 2 7 7 2 3
atunci n/2=6/2=3
for (i=0; i < n/2; ++i)
if (a[i] != a[n-i-1]) { palindrom=false; break;}
explicatie: pt i=0, n-i-1=6-0-1=5, deci se verifica cifrele de la capete.
pt i=1; n-i-1=6-1-1=4, deci se verifica a[1] cu a[4]
pt i=2, se verifica a[2] cu a[3]
stop, am terminat deoarece in for avem pt i<n/2, adica pt i<3
Astfel au fost verificate toate perechile egal departate de mijloc,
Daca se punea conditia in for i < n , atunci i continua valorile si trecea de jumatate si se vor verifica a doua oara perechile a[3] cu a[2]. a[4] cu a[1]. a[5] cu a[0], ce cred iti dai seama ca e pur si simplu in plus
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări suplimentare sau nevoie de ajutor, vă rugăm să ne contactați cu încredere. Așteptăm cu drag să reveniți și nu uitați să ne salvați în lista dumneavoastră de favorite!