Sjećate li se zadataka iz matematike kada ste morali između brojeva staviti znakove operatora kako bi dobili određeni broj? Sada je vaš zadatak postaviti operatore ‘+’, i ‘–‘ između četiri učitana broja, kako bi dobili peti. Ako se ne može dobiti taj peti broj, tada potražite kombinaciju kojom mu dolazite najbliže.
Ulazni podaci
S tipkovnice se učitava 5 cijelih brojeva (svi će biti između 0 i 1000, uključivo).
Izlazni podaci
Na ekran treba ispisati kako se pomoću prva četiri broja i operacija ‘+’ i ‘-‘ može dobiti peti, a u slučaju da se ne može dobiti, ispisati kombinaciju kojom mu se najbliže dolazi. Ukoliko postoji više kombinacija da se dobije potreban rezultat, dovoljno je ispisati jednu.
Primjeri:
ulaz: 1 1 1 1 4
izlaz: 1+1+1+1=4
ulaz:11 3 6 9 5
izlaz:11 – 3 + 6 – 9 = 5
Evo koda:
program zad3;
uses crt;
var br1,br2,br3,br4,br5,x,br,min:integer;
s:array [1..18] of string;
s1,s2,s3:array [1..18] of string;
rez,ost:array [1..18] of integer;
begin
clrscr;
readln(br1,br2,br3,br4,br5);
rez[1]:=br1+br2+br3+br4;
s1[1]:='+';
s2[1]:='+';
s3[1]:='+';
rez[2]:=br1+br2+br3-br4;
s1[2]:='+';
s2[2]:='+';
s3[2]:='-';
rez[3]:=br1+br2-br3-br4;
s1[3]:='+';
s2[3]:='-';
s3[3]:='-';
rez[4]:=br1-br2-br3-br4;
s1[4]:='-';
s2[4]:='-';
s3[4]:='-';
rez[5]:=br1-br2+br3+br4;
s1[5]:='-';
s2[5]:='+';
s3[5]:='+';
rez[6]:=br1-br2-br3+br4;
s1[6]:='-';
s2[6]:='-';
s3[6]:='+';
rez[7]:=br1-br2+br3-br4;
s1[7]:='-';
s2[7]:='+';
s3[7]:='-';
rez[8]:=br1+br2-br3+br4;
s1[8]:='+';
s2[8]:='-';
s3[8]:='+';
for x:=1 to 9 do
begin
if rez[x]=br5 then begin
writeln(br1,'',s1[x],'',br2,'',s2[x],'',br3,'',s3[x],'',br4,'=',br5);
readln;
exit;
end;
end;
for x:=1 to 9 do
begin
if rez[x]>br5 then
begin
ost[x]:=rez[x]-br5;
end
else
begin
ost[x]:=br5-rez[x];
end;
end;
min:=100;
for x:=1 to 8 do
begin
if ost[x]<min then min:=ost[x];
end;
for x:=1 to 8 do
begin
if ost[x]=min then begin
writeln(br1,'',s1[x],'',br2,'',s2[x],'',br3,'',s3[x],'',br4,'=',rez[x]);
readln;
exit;
end;
end;
end.
Naravno, meni se kod cini sascim u redu i trebalo bi po mome da radi (i radi na nekim primjerima) ali konkretno ne radi dobro kod ovoga:
ulaz:1 2 3 4 5
svaki savjet dobro dodje

poz