[ Commander @ 14.05.2006. 15:17 ] @
PRVI program:
Code:

...
a:=n*2;
m:=100/a;
writeln('to je');
readln(m);
readln;
end.


to bi trebalo pisati u postotcima koliko to iznosi. i kad pokrenem ga sve je ok ali postotak ovako napiše: 2.50000000000000E+001%, ali to bi zapravo trebalo pisati 25%. kako da napravim da piše 25% i da ne budu sve te nule?


DRUGI program:
Code:

...
for i := 1 to n do
r:=p*k;
readln;
end.


Sve je ok kada ga pokrenem, ali kada želim upisati neki decimalni broj npr: 1,95 izađe iz programa i piše da je neki error: exitcode 106. zanima me kako da napravim da mogu pisati decimalne brojeve u programu?
[ sanja2010 @ 14.05.2006. 15:48 ] @
runtime error 106 dobijash kada se ne slazu tipovi podataka. Aj posalji ceo kod, verovatno je nesto oko deklaracije promenljivih.
[ IvanBeograd @ 14.05.2006. 16:06 ] @
Da bi ti ispis bio bez svih tih nula dovoljno je da napises :
Code:
Writeln(a:2:2)

Gde ti je a neka promenjiva sa pokretnim zarezom,a 2 ti je koliko mesta da se ispise iza zareza.
Postuj ceo kod,sigurno je neka greska oko deklaracije!
Pozz
[ Commander @ 14.05.2006. 17:06 ] @
nije možda ovako :
Code:
 writeln('a/2/2');

?
[ IvanBeograd @ 14.05.2006. 17:49 ] @
@Commander
Tvoj kod ce da ispise na izlaz ovo : a/2/2
Evo ceo primer :
Code:

program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
 a:real;
begin
 a:=5.5264556;
 writeln(a:2:2);
 readln;
  { TODO -oUser -cConsole Main : Insert code here }
end.



Pozzz

[Ovu poruku je menjao IvanBeograd dana 14.05.2006. u 18:51 GMT+1]
[ Commander @ 14.05.2006. 19:34 ] @
PRVI program sam riješio i hvala. Molim vas sada da mi pomognete riješiti DRUGI program.
[ IvanBeograd @ 14.05.2006. 19:59 ] @
Postuj ceo kod da vidimo sta nevalja.Mozda ti unosis 1,95 a trebalo bi da uneses 1.95 ??
[ Commander @ 15.05.2006. 12:24 ] @
nema veze probao sam i 1.95 i 1,95 pa opet nece.
[ Commander @ 15.05.2006. 19:53 ] @
Code:

program zbrajanje;
var a,b,c:integer;
begin
writeln('unesi a');
readln(a);
writeln('unesi b');
readln(b);
c:=a+b;
readln(c);
readln;
end.


malo sam promjenio kod ali ipak nece mi unijeti ni 1,95 ni 1.95. Zna li itko rješenje?
[ PeraKojotSuperGenije @ 15.05.2006. 23:39 ] @
Tip integer je celobrojni tip! Ako hoces da radis sa realnim brojevima (kao sto je 1.95) a, b, c treba da deklarises kao real ili double ili... pa vidi vec koje realne tipove imas.
Dakle umesto
var a, b, c: integer;
napisi:
var a, b, c: real;
[ Commander @ 17.05.2006. 14:34 ] @
Code:

program zbrajanje;
var i,n:integer;
p,k,r:real;
begin
write('unesi n');
readln(n);
for i:= 1 to n do
begin
write('unesi k za ', i);
readln(k);
r:=r+k;
end;
begin
writeln('Rezultat je');
p:=n*r;
readln(p);
end;
readln;
end.


Ovaj program bio u prvom dijelu do "end;" trebao SAMO izračunati koliki je "k", a u drugom dijelu bi trebao pomnožiti "n" sa ukupnim "k".
npr:
1 DIO
Unesi n: 2
unesi k 1: 1.95
unesi k 2: 1.95
objašnjenje: (1.95+1.95=3.9) (2 ne dira)
2 DIO
Rezultat je 7.8
objašnjenje (3.9*2=7.8)


Nadam se da kužite pa pomozite
[ IvanBeograd @ 17.05.2006. 16:57 ] @
Code:

var
 i,n:integer;
 p,k,r:real;
begin
  r:=0;   //ovde inicjalizujemo promenjivu
  write('Unesi n :  ');
  readln(n);
 for i:= 1 to n do
  begin
   write('Unesi k za ', i,' : ');
   readln(k);
   r:=r+k;
  end;

begin
  writeln('Rezultat je');
  p:=n*r;
  Writeln(p:2:2);    //ovo si zaboravio napisati
end;

readln;

end.
[ Commander @ 17.05.2006. 17:27 ] @
IvanBeograd hvala ti, puno si mi pomogao. Pozdrav. :)