|
Napisano: 12 Apr 2009 17:29
Napisati program koji iz datoteke "broj.in" ucitava prirodan broj n(1<=n<=1000 000 000) i odredjuje izmedju koje dve cifre ga treba podeliti na dva broja tako da zbir dva dobijena broja bude neparan i najveci. U datoteku "broj.out" upisati maximalni zbir koji se dobija. Ako se broj ne moze podeliti na trazeni nacin upisati rezultat -1.
Moje resenje:
Program zad19;
var
a, n, x, y, c, max: integer;
ulaz, izlaz: text;
Begin
assign (ulaz, 'broj.in');
assign (izlaz, 'broj.out');
reset (ulaz);
rewrite (izlaz);
read (ulaz, n);
a:=1;
while (n div 10) > 0 do //ovde odredjujem a
begin
a:=a*10;
n:=n div 10
end;
max:=0;
repeat //ovde dati broj n delim na dva broja
begin //i odredjujem da li je njihov zbir
x:= n mod a; //neparan
y:= n div a;
c:= x+y;
if c mod 2 = 1 then
if max < c then
max:= c;
a:=a div 10
end;
until a=0;
if max > 0 then
writeln(izlaz, 'Maximalan zbir je: ', max)
else
writeln(izlaz, -1);
close(ulaz);
close(izlaz)
End.
Da li neko moze da mi kaze gde je greska.... ((((
Dopuna: 12 Apr 2009 22:03
Da li mogu da postoje dve petlje kao kod mene ovde?
|