EmirDemirovic je napisao/la:
Ev' da vam bude lakše, evo koda čitavog:
program Univerzalnonaopako;
var a,b,c,d,e:integer;
begin
writeln('Upisi broj:');
readln(a);
while (a=0) do
begin
writeln('Slijedeci put upisi drugi broj');
readln(a);
repeat until (a<>0);
end;
b:=a div 1000;
c:=a mod 1000 div 100;
d:=a mod 100 div 10;
e:=a mod 10;
if (b=0) then
writeln('Trocifreni broj naopako je: ' ,e,d,c);
if (b=0) and (c=0) then
writeln('Dvocifreni broj naopako je: ', e,d);
if (b<>0) and (c<>0)and (d<>0)and(e<>0) then
writeln('Cetverocifren broj naopako je: ' , e,d,c,b);
readln;
end.
eh, dolazi konflikt između: " if (b=0) then
writeln('Trocifreni broj naopako je: ' ,e,d,c);
if (b=0) and (c=0) then
writeln('Dvocifreni broj naopako je: ', e,d);"
sad', da bih to izbjegao, trebaju se dodat' deklaracije (tbroj, dbroj). Evo kako bi to izgledalo;
var a,b,c,d,e,tbroj,dbroj:integer;
begin
writeln('Upisi broj:');
readln(a);
while (a=0) do
begin
writeln('Slijedeci put upisi drugi broj');
readln(a);
repeat until (a<>0);
end;
b:=a div 1000;
c:=a mod 1000 div 100;
d:=a mod 100 div 10;
e:=a mod 10;
tbroj:=e,d,c; OVDJE JE PROBLEM
dbroj:=e,d; OVDJE JE PROBLEM
if (b=0) then
writeln('Trocifreni broj naopako je: ' ,tbroj);
if (c=0) then
writeln('Dvocifreni broj naopako je: ', dbroj);
if (b<>0) and (c<>0)and (d<>0)and(e<>0) then
writeln('Cetverocifren broj naopako je: ' , e,d,c,b);
readln;
end.
Kako sad' da mi se ispišu rezultati od ovih vrijednosti, jer ne mogu se tek tako poredat' i ispisat'. Da l' neko zna možda drugačije riješenje ili zna možda koja je komanda u pitanju za nabrajanje e,d, i c pod tbroj?
program Univerzalnonaopako;
var a,brojnaopako,brojac:integer;
begin
writeln('Upisi broj:');
readln(a);
while (a=0) do
begin
writeln('Slijedeci put upisi drugi broj');
readln(a);
repeat until (a<>0);
end;
brojnaopako=0;
brojac=0;
while(a>0) do
begin
brojnaopako=brojnaopako*10+(a mod 10 );
a=a div 10;
brojac++;
end;
case brojac of
1 : Begin
Writeln('Jednocifren');
End;
2 : Begin
Writeln('Dvocifren');
End;
3 : Begin
Writeln('Trocifren');
End;
4: Begin
Writeln('Cetverocifren');
End;
end;
write(' broj napisan naopako je ',brojnaopako);
end.
po meni mnogo elegantnije rijesenje,pa ti odluci kako ces raditi.Btw ispravi sintaksne greske ako ima,nemam pascal ,a davno sam programirao u njemu.