Code:
{Samo da napomenem da sam paskal naucio pre 2 dana...a pre toga sam znao c :)
i jos uvek ga znam, tako da evo uvoda:
Program treba da bude resenje sledeceg zadatka:
Napisati program kojim se ispisuju sve mogucnosti da pri jednom
bacanju tri kockice zbir brojeva bude dati broj S.
NPR.: za S=5 sva resenja (bez ponavljanja) su 1,1,3 i 1,2,2
EH sada umoran sam previse da bih opisivao dizajn programa ali ko se imalo
razume shvatice...poentu
dARKmIND [darkfirexyu@yahoo.com]
}
program kockica;
uses Crt;
type
ia=array[1..6] of integer;
ib=array[1..6] of integer;
ic=array[1..6] of integer;
var
aa:ia;
bb:ib;
cc:ic;
var
kraj,na:shortint;
var
s,ss,r:0..15+3;
a,b,c:integer;
label pocetak;
procedure nemanule(var a,b,c:integer);
begin
repeat
if (a<=0) or (b<=0) or (c<=0) then
Randomize;
a:=random(6);
b:=random(6);
c:=random(6);
until (a>0) and (b>0) and (c>0) and (a<=6) and (b<=6) and (c<=6);
end;
begin
ClrScr;
writeln('Uneti s=');
readln(s);
repeat
if (s<3) or (s>18) or (s=0) then
readln(s);
until (s>=3) and (s<=18);
repeat
Randomize;
a:=random(6);
b:=random(6);
c:=random(6);
nemanule(a,b,c);
r:=a+b+c;
if (r=s) then a:=aa[na];
if (r=s) then b:=bb[na];
if (r=s) then c:=cc[na];
if (r=s) then writeln('Rezultat:',aa[na],' ',bb[na],' ',cc[na],' ',a,' ',b,' ',c);
if (aa[na-1]=aa[na]) and (bb[na-1]=bb[na]) and (cc[na-1]=cc[na]) then
na:=na-1
else
na:=na+1;
until kraj = 1;
end.
{Samo da napomenem da sam paskal naucio pre 2 dana...a pre toga sam znao c :)
i jos uvek ga znam, tako da evo uvoda:
Program treba da bude resenje sledeceg zadatka:
Napisati program kojim se ispisuju sve mogucnosti da pri jednom
bacanju tri kockice zbir brojeva bude dati broj S.
NPR.: za S=5 sva resenja (bez ponavljanja) su 1,1,3 i 1,2,2
EH sada umoran sam previse da bih opisivao dizajn programa ali ko se imalo
razume shvatice...poentu
dARKmIND [darkfirexyu@yahoo.com]
}
program kockica;
uses Crt;
type
ia=array[1..6] of integer;
ib=array[1..6] of integer;
ic=array[1..6] of integer;
var
aa:ia;
bb:ib;
cc:ic;
var
kraj,na:shortint;
var
s,ss,r:0..15+3;
a,b,c:integer;
label pocetak;
procedure nemanule(var a,b,c:integer);
begin
repeat
if (a<=0) or (b<=0) or (c<=0) then
Randomize;
a:=random(6);
b:=random(6);
c:=random(6);
until (a>0) and (b>0) and (c>0) and (a<=6) and (b<=6) and (c<=6);
end;
begin
ClrScr;
writeln('Uneti s=');
readln(s);
repeat
if (s<3) or (s>18) or (s=0) then
readln(s);
until (s>=3) and (s<=18);
repeat
Randomize;
a:=random(6);
b:=random(6);
c:=random(6);
nemanule(a,b,c);
r:=a+b+c;
if (r=s) then a:=aa[na];
if (r=s) then b:=bb[na];
if (r=s) then c:=cc[na];
if (r=s) then writeln('Rezultat:',aa[na],' ',bb[na],' ',cc[na],' ',a,' ',b,' ',c);
if (aa[na-1]=aa[na]) and (bb[na-1]=bb[na]) and (cc[na-1]=cc[na]) then
na:=na-1
else
na:=na+1;
until kraj = 1;
end.