Preskoči na sadržaj
Ista raja. Nova runda.
GAMERZ.ba — REBORN
Diskusija

A+B=AB

206 pregleda · 11 odgovora · otvorena 29.10.2013. u 17:16

Pozdrav,

zna li ko kako ću napisati a+b=ab, tj. npr. 3+5=35 ? U pitanju je pascal/delphi.  
Spajanje stringova ?

Pokusaj sa &


Edit
Wikipedia kaze

Logical negation: not
Multiplicative: * / div mod and
Additive: + - or
Relational: = <> < > <= >= in


Dakle jednostavno pokusaj sa +
pandaa je napisao/la:
Spajanje stringova ?

Pokusaj sa &


Edit
Wikipedia kaze

Logical negation: not
Multiplicative: * / div mod and
Additive: + - or
Relational: = <> < > <= >= in


Dakle jednostavno pokusaj sa +
Ne može, ev' zašto:

var a,b,c:integer;
begin

readln(a);
readln(b);
c:=a+b;
writeln(c);
readln;
end.

Eh, on će onda sabrati a i b, što znači da npr. a=2, b=5, c=7
EmirDemirovic je napisao/la:
Ne može, ev' zašto:

var a,b,c:integer;
begin

readln(a);
readln(b);
c:=a+b;
writeln(c);
readln;
end.

Eh, on će onda sabrati a i b, što znači da npr. a=2, b=5, c=7
var a,b,c:integer;


Deklarisao si a,b,c varijable kao brojcane

Googlaj sta je integer :D
c:=a*10+b;
ako su ti a i b brojevi,onda ovako to treba ,inace a+b bi ti samo sabralo brojeve,tj 3+5= 8,a napisano na moj nacin ti ti je 3+5=35
Ako su ti ti tvoji a i b stringovi onda jednostavno concat(a,b) ako su integeri onda ces ih morat pretvorit u stringove
str(x,a);
str(y,b);

i onda samo saberes x+y
var a,b,c:real;
begin

readln(a);
readln(b);
c:=(a*10)+b;
writeln(c);
readln;
end.
Ne pravite se da znate kad nemate pojma, cuj stringovi a on sa brojevima radi j**o li vas google vas
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?
jednostavan nacin
var a,b:integer;
begin
writeln('Unesite brojeve');
readln(a,b);
write('Rezultat je ',a,b);
end.
R0x0r je napisao/la:
jednostavan nacin
var a,b:integer;
begin
writeln('Unesite brojeve');
readln(a,b);
write('Rezultat je ',a,b);
end.
Nije ba to, pročitaj šta piše u kodu.

Hoću da vrijednost tbroj-a bude e,d,c, znači da tbroj:=e,d,c, međutim, ne piše se to tako, ne znam kako da tbroj jednostavno pokaže rezultate ovih brojeva.
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.
zika je napisao/la:
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.
Eh, zaboravio sam lockat temu, uradio sam već program, al' ipak hvala na pomoći.  

Ev' ako te zanima kod:

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 (a<10000) and (a>999) then
writeln('Cetverocifren broj naopako je: ' ,e,d,c,b);
if (a<1000) and (a>99) then
writeln('Trocifreni broj naopako je: ', e,d,c);
if (a<100) and (a>9) then
writeln('Dvocifreni broj naopako je: ' , e,d);
readln;
end.

Prijavi se da bi odgovorio/la na ovu temu.