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 că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.