| | |
| Stránka: 1 z 1
| [ Príspevkov: 9 ] | |
Autor | Správa |
---|
Registrovaný: 14.11.10 Prihlásený: 30.04.12 Príspevky: 13 Témy: 4 Bydlisko: MT |
Mohol by mi niekto pls poradiť čo mám zle v tomto algoritme ?
THX
Kód: PROGRAM POLEP; USES CRT; TYPE ES=ARRAY[1..100]OF INTEGER; VAR A,B,C:INTEGER; K,L,M:ES;
PROCEDURE NACITAJ(VAR N:INTEGER; VAR P:ES); VAR K:INTEGER; BEGIN WRITELN('DAJ POCET CISEL'); READLN(N); FOR K:=1 TO N DO P[K]:=RANDOM(100); END;
PROCEDURE TLAC(N:INTEGER; P:ES); VAR K:INTEGER; BEGIN FOR K:=1 TO N DO WRITE(P[K]:5); END;
PROCEDURE VYMENA (VAR A,B:INTEGER); VAR POM:INTEGER; BEGIN POM:=A; A:=B; B:=POM; END;
PROCEDURE ZORAD(VAR N:INTEGER; VAR P:ES); VAR K,I:INTEGER; BEGIN FOR I:=1 TO N-1 DO BEGIN FOR K:=1 TO N-1 DO IF P[K]>P[K+1] THEN VYMENA; END; END;
BEGIN CLRSCR; NACITAJ(A,K); NACITAJ(B,L); NACITAJ(C,M); TEXTCOLOR(RED); TLAC(A,K); WRITELN; TEXTCOLOR(GREEN); TLAC(B,L); WRITELN; TEXTCOLOR(YELLOW); TLAC(C,M); ZORAD(A,K); ZORAD(B,L); ZORAD(C,M); TEXTCOLOR(RED); TLAC(A,K); WRITELN; TEXTCOLOR(GREEN); TLAC(B,L); WRITELN; TEXTCOLOR(YELLOW); TLAC(C,M); READKEY END.
|
|
Registrovaný: 19.09.09 Prihlásený: 12.09.13 Príspevky: 359 Témy: 55 Bydlisko: Rohožník | Napísal mack0: 14.11.2010 21:41 | |
|
co to ma robit akoze??
pretože nesedia mi tam tie premenne ... v 2 procedure konkretne - mas tam N ale jak ho tam dostanes? N mas lokalne, ale ako ho tam dostanes? Bud v 1 proceduje N nakopirujes do globalnej premennej a potom ju pouzijes aj v druhej procedure. a to iste plati aj pre zvysok...
Ale aký je presny popis programu? co ti to robi, nerobi?
|
|
Registrovaný: 01.04.10 Prihlásený: 08.10.11 Príspevky: 339 Témy: 0 | Napísal Forty-: 15.11.2010 12:12 | |
|
PANEBOZE KTO TA UCIL PISAT KOD CELY VELKYMI PISMENKAMI ?
A BOLO BY SUPER KEBY SI NAM POVEDAL CO TO MA ROBIT, NAM SA NECHCE HADAT.
S POZDRAVOM,
TVOJ CAPS LOCK
|
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | Napísal coldak: 15.11.2010 12:32 | |
|
hm toto je co ? Kód: IF P[K]>P[K+1] THEN VYMENA; kam si dal vstupne parametre ?
|
|
Registrovaný: 14.11.10 Prihlásený: 30.04.12 Príspevky: 13 Témy: 4 Bydlisko: MT |
mack0 - v procedure tlac je n parameter ktorý plati "len" pre tu proceduru preto ho nemusím globalne definovať
Forty- učím sa to sám a mám skriptá v ktorých je všetko veľkým tak to robím podľa nich ale rád si nechám poradiť ...a je to jedno podľa mňa či to je veľkým alebo nie
coldak-no veď to neviem ako má byť ta procedúra, je to program ktorý pracuje s parametrami a zoradí mi jednorozmerné pole od najmenšieho čísla po najväčšie
ako by som mohol upraviť tu proceduru lebo keď tam nedam parametre tak to vyzerá takto:
Kód: PROGRAM ZORAD; USES CRT; VAR N,I,K,POMOC,POZ:BYTE; P:ARRAY[1..100]OF INTEGER; PROCEDURE NACITAJ; BEGIN WRITELN('DAJ POCET PREMENNYCH'); READLN(N); FOR K:=1 TO N DO P[K]:=RANDOM(50); END; PROCEDURE TLAC; BEGIN WRITELN; FOR K:=1 TO N DO WRITE(P[K]:4); WRITELN; END; PROCEDURE VYMENA; BEGIN POMOC:=P[K]; P[K]:=P[K+1]; P[K+1]:=POMOC; END; PROCEDURE TRIED; BEGIN FOR I:=1 TO N-1 DO BEGIN FOR K:=1 TO N-1 DO IF P[K]>P[K+1] THEN VYMENA; END; END;
BEGIN CLRSCR; Gotoxy(20,1); writeln('Bublinkova metoda triedenia'); NACITAJ; TLAC; TRIED; TLAC; READKEY END.
a ja chcem toto isté ale s parametrami
_________________ |ASUS-N53SN|i7-2630QM Sandy Bridge|6GB DDR3 1333 MHz|GeForce GT550m 2GB VRAM|OCZ Agility 3 120GB SSD| |
|
Registrovaný: 23.11.08 Príspevky: 187 Témy: 34 Bydlisko: IP: 209.85.... | Napísal Logik: 15.11.2010 20:55 | |
|
elementstyle píše: ...a je to jedno podľa mňa či to je veľkým alebo nie V Pascale je to jedno, ale v pridu jazyky, v ktorych to jedno isto nebude. Ak chces nieco moderne nakodit tak potrebujes novsie jazyky, ktore su "case sensitive", typicky "C".
Tu to mas trocha upravene a doplnene parametre:
Kód: PROGRAM POLEP; USES CRT; TYPE ES=ARRAY[1..100]OF INTEGER; VAR A,B,C:INTEGER; K,L,M:ES;
PROCEDURE NACITAJ(VAR N:INTEGER; VAR P:ES); VAR K:INTEGER; BEGIN WRITELN('DAJ POCET CISEL'); READLN(N); FOR K:=1 TO N DO P[K]:=RANDOM(100); END;
PROCEDURE TLAC(N:INTEGER; P:ES); VAR K:INTEGER; BEGIN FOR K:=1 TO N DO WRITE(P[K]:5); END;
PROCEDURE VYMENA (VAR A,B:INTEGER); VAR POM:INTEGER; BEGIN POM:=A; A:=B; B:=POM; END;
PROCEDURE ZORAD(VAR N:INTEGER; VAR P:ES); VAR K,I:INTEGER; BEGIN FOR I:=1 TO N-1 DO BEGIN FOR K:=1 TO N-1 DO IF P[K]>P[K+1] THEN VYMENA(P[K],P[K+1]); END; END;
BEGIN CLRSCR; NACITAJ(A,K); NACITAJ(B,L); NACITAJ(C,M); TEXTCOLOR(RED); TLAC(A,K); WRITELN; TEXTCOLOR(GREEN); TLAC(B,L); WRITELN; TEXTCOLOR(YELLOW); TLAC(C,M); ZORAD(A,K); ZORAD(B,L); ZORAD(C,M); TEXTCOLOR(RED); TLAC(A,K); WRITELN; TEXTCOLOR(GREEN); TLAC(B,L); WRITELN; TEXTCOLOR(YELLOW); TLAC(C,M); READKEY END. Naco si tam daval farby ked ti nejde ani zakladny program? A preco ked si to odpisoval z knihy tak to neslo? hmmmm? Vyskusaj ci to funguje ako ma...
_________________ Tajna misia: Ignorovat dlzne a makcene. |
|
Registrovaný: 14.11.10 Prihlásený: 30.04.12 Príspevky: 13 Témy: 4 Bydlisko: MT |
nevedel by si mi ešte poradiť s týmto:
Kód: Program retaz; uses crt; var p,i:integer; x:string; begin writeln('Napis vetu'); readln(x); p:=1; for i:=1 to lenght(x) do if x[i]=' ' then p:=p+1; writeln(' Vo vete: ',x,'je ',p,' slov.'); end.
je to program ktorý mi ma vypočítať počet slov vo vete za predpokladu že za každým slovom je len jedna medzera...a neviem prečo mi nechce zobrat to LENGHT(x) ...
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 16.11.2010 14:43 | |
|
Mozno preto, ze sa to pise length?
|
|
Registrovaný: 14.11.10 Prihlásený: 30.04.12 Príspevky: 13 Témy: 4 Bydlisko: MT |
aha ďakujem
_________________ |ASUS-N53SN|i7-2630QM Sandy Bridge|6GB DDR3 1333 MHz|GeForce GT550m 2GB VRAM|OCZ Agility 3 120GB SSD| |
|
| Stránka: 1 z 1
| [ Príspevkov: 9 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|