vypis vysledkov v TP

Programovacie jazyky, rady, poradňa...
Pman
Novice
Novice
Príspevky: 7
Registrovaný: 12 apr 2008, 23:52

Príspevok od používateľa Pman »

povodne som to mal s druhou pomocnou premennou(finished napr), lenze mi to robilo aj tak chybu, ktoru som nasiel az teraz (taka ta tradicna drobna blbost, ktoru hladate 2 hodiny :) )

program uz v podstate funguje, lenze : Ked zadam 3,6,7,9,.. balonov, tak sa prog zasekne a do pola "A" sa nezapisuju cisla balonov

/edit : program

Kód: Vybrať všetko

program balon;
uses crt,graph;
var n,j,i,k, grd,grm : integer;
x,a: array [1..100] of integer;

procedure grafika;
begin
detectgraph(grd,grm);
initgraph(grd,grm,'F:\Programy\TP\bgi');
end;

procedure balon(x,y,f:integer);
begin
setcolor(f);
circle(x,y,10);
rectangle(x+5,y+20,x-5,y+15);
line(x+5,y+15,x+10,y);
line(x-5,y+15,x-10,y);
line(x,y,x,y+15);
end;

begin
clrscr;
writeln('Kolko balonov postavime na trat?');
readln(n);
grafika;
setcolor(red);
line (getmaxx-180,0,getmaxx-180,480);
line (100,0,100,440);
for i :=1 to n do begin x[i] :=100;
                        balon(x[i],30*i,i);
                        end;
readkey;
k:=1;
repeat
 for i:=1 to n do begin
   balon(x[i],i*30,0);
   if x[i] <= getmaxx-150 then begin
     x[i]:=x[i]+random(6);
     balon(x[i],i*30,i);
     delay(10);
     if x[i] > getmaxx-150 then begin
      a[k]:=i;
      k:=k+1;
      balon(x[i],i*30,i);
      delay(5);
      end;
    end;
 end;
for i:=1 to n do balon(x[i],i*30,i);
until keypressed or (x[i]>= getmaxx-150);
readkey;
closegraph;
for i:=1 to n do write(a[i]:4);

readkey;
end.
tuti
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 740
Registrovaný: 01 okt 2006, 19:23
Bydlisko: Prievidza

Príspevok od používateľa tuti »

tak na to sa da povedat len ...hmmm divne... asi tam bude este nejaka jedna blbost
Pman
Novice
Novice
Príspevky: 7
Registrovaný: 12 apr 2008, 23:52

Príspevok od používateľa Pman »

problem solved :)

problem bol v repeat until, pretoze program bezal dovtedy, kym nedosiel do ciela n-ty balon, ktory vsak nemusel byt posledny, tak som si pridal jedno pole, do ktoreho som ukladal pozicie balonov. podmienka teda bola :

repeat
bla bla
until pozicia[posledneho_balona] = getmaxx-150
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Stačilo tam kontrolovať, či je k rovné celkovému počtu.
Napísať odpoveď