Zasto program ne radi

Zasto program ne radi

offline
  • Pridružio: 11 Jan 2012
  • Poruke: 1153









Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 04 Jul 2011
  • Poruke: 5424

Imaš grešku. Ti u while ciklusu menjaš n, i ono je na kraju jednako nuli, a ti ga na kraju porediš sa n1.

Ne vidim šta može da pravi problem, zvanična stranica kaže:
Citat: 106 Invalid numeric format
Reported when a non-numeric value is read from a text le, when a numeric value was expected.



offline
  • Pridružio: 14 Jul 2012
  • Poruke: 51

Мислим да програм пријављује грешку зато што је пробијен бафер (нисам компајлирао).

Као што је речено, петља ти се врти док је n веће од нуле, па кад n падне на нулу и ток програма изађе из петље, уопште не може то n бити једнако неком ненултом броју n1.
Пробај да сама прођеш кроз петљу (на оловку) и видећеш да је вредност n1 на крају једнака оној вредности n која је на почетку унета, ако је број палиндром. Само та променљива n је током извршавања петље променила вредност, па програм не препознаје палиндром.

Уз то унети број 12345654321 је већи од 2147483647 (највећи број који може да прими четворобајтни longint) - па је пробијен бафер.

И мали предлог, изгледа читљивије ако се изворни код копира, или бар сними само активни прозор (Alt + Print Screen).

P.S.

Скинуо сам Lazarus, па сам проверио.
program project1;   var n1, n, nUneto: longint; begin   read(n);   nUneto:=n;   n1:=0;   while n>0 do begin   n1 := n1*10 + n mod 10;   n := n div 10; end;   writeln(n1);   if n1 = nUneto then writeln('Palindrom'); end.

Ko je trenutno na forumu
 

Ukupno su 916 korisnika na forumu :: 17 registrovanih, 3 sakrivenih i 896 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: avijacija, bestguarder, Bobrock1, bokisha253, dankisha, djuradj, mkukoleca, mnn2, nenad81, nuke92, opt1, Parker, Povratak1912, Prašinar, procesor, Visionary, YugoSlav