[ Divjak @ 16.04.2005. 17:32 ] @
Radi se o zadatku za takmicinje, i radi sasvim lepo za manju kolicinu teksta, ali za najkomplikovaniji primer (od 50 000) redova, ne ispise nista... zasto? Da li postoji neko ogranicenje? |
[ Divjak @ 16.04.2005. 17:32 ] @
[ Toyo @ 16.04.2005. 17:36 ] @
Postuj kod gde mislis da je problem. Ili ceo, ako nije dugacak.
[ Divjak @ 16.04.2005. 17:39 ] @
Code: PROGRAM BICIKLISTI; VAR POZ :array[1..10000] of integer; TAK :array[1..10000] of integer; BRT :integer; BRP :longint; SWAP,P,i:integer; PROCEDURE MAIN; VAR fi :text; fo :text; PROCEDURE SETUP; BEGIN for i:=1 to BRT do begin POZ[i]:=i; TAK[i]:=i; end; END; BEGIN assign(fi,'biciklisti.dat'); reset(fi); read(fi,BRT); readln(fi,BRP); SETUP; for i:=1 to BRP do begin readln(fi,P); SWAP:=TAK[POZ[P]-1]; TAK[POZ[P]-1]:=P; TAK[POZ[P]]:=SWAP; dec(POZ[P]); inc(POZ[POZ[P]]); end; close(fi); assign(fo,'biciklisti.res'); rewrite(fo); for i:=1 to BRP+1 do writeln(fo,TAK[i]); close(fo); END; BEGIN MAIN; END. [ Toyo @ 16.04.2005. 17:43 ] @
Pogledaj na koliko su ti dimenzionisani nizovi. (Ovo ce da ti radi samo do 10000)
[ Divjak @ 16.04.2005. 17:58 ] @
da, da imam obicaj da izmesam promenljive...
hvala... [ Toyo @ 16.04.2005. 18:01 ] @
Pa neces moci da ga dimenzionises na 50000. Suvise je to lako da bi proso kao zadatak za takmicenje. Ako nije problem daj zadatak da i mi vidimo.
[ _v!rus_ @ 16.04.2005. 18:33 ] @
Ili optimizuj kod, da radi sa jednom matricom, ili koristi heap, tj. dinamicko alociranje. I jos nesto, ako su ti u matrici snimljene pozicije biciklista, integer won't do sa 50K takimcara (u obicnom paskalu) - 32767. Ako su ti oni zadali res fajl, proveri da li je bas Integer, cisto sumnjam ako je takmicara 50K. Unsigned mozda?
[ _v!rus_ @ 16.04.2005. 19:10 ] @
Ako neces heap i dinamicku alokaciju, mozda bi mogao bi i da koristis sekvencijalnu obradu, ako je moguce u tvom slucaju(ne znam zadatak). Sistem bi bio da deo po deo obradjujes podatke i upisujes u fajl (npr. 10K po 10K).
[ broker @ 16.04.2005. 21:21 ] @
Savet: izbegavaj globalne promenljive osim kada imaju smisla, to jest kada se korisite kao globalni parametri i evenutlano ako su parametri koji seprenose izmedju razlicitih unita.
I uvek inicijalizuj promenljive. [ Divjak @ 16.04.2005. 23:05 ] @
Ima 10 000 takmicara, 50 000 instrukcija, nije htelo da radi jer sam imao gresku u kodu...
Sad sasvim lepo radi... hvala svima... Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|