Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 9 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
PASCAL-parameter

Registrovaný: 14.11.10
Prihlásený: 30.04.12
Príspevky: 13
Témy: 4
Bydlisko: MT
Príspevok NapísalOffline : 14.11.2010 21:22

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.


Offline

Užívateľ
Užívateľ
PASCAL-parameter

Registrovaný: 19.09.09
Prihlásený: 12.09.13
Príspevky: 359
Témy: 55
Bydlisko: Rohožník
Príspevok NapísalOffline : 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?


Offline

Užívateľ
Užívateľ
PASCAL-parameter

Registrovaný: 01.04.10
Prihlásený: 08.10.11
Príspevky: 339
Témy: 0
Príspevok NapísalOffline : 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


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2
Príspevok NapísalOffline : 15.11.2010 12:32

hm toto je co ?
Kód:
IF P[K]>P[K+1] THEN VYMENA;
kam si dal vstupne parametre ?


Offline

Užívateľ
Užívateľ
PASCAL-parameter

Registrovaný: 14.11.10
Prihlásený: 30.04.12
Príspevky: 13
Témy: 4
Bydlisko: MT
Príspevok Napísal autor témyOffline : 15.11.2010 19:51

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|
Offline

Užívateľ
Užívateľ
PASCAL-parameter

Registrovaný: 23.11.08
Príspevky: 187
Témy: 34
Bydlisko: IP: 209.85....
Príspevok NapísalOffline : 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.
Offline

Užívateľ
Užívateľ
PASCAL-parameter

Registrovaný: 14.11.10
Prihlásený: 30.04.12
Príspevky: 13
Témy: 4
Bydlisko: MT
Príspevok Napísal autor témyOffline : 16.11.2010 12:32

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) ...


Offline

Čestný člen
Čestný člen
PASCAL-parameter

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 16.11.2010 14:43

Mozno preto, ze sa to pise length?


Offline

Užívateľ
Užívateľ
PASCAL-parameter

Registrovaný: 14.11.10
Prihlásený: 30.04.12
Príspevky: 13
Témy: 4
Bydlisko: MT
Príspevok Napísal autor témyOffline : 16.11.2010 16:17

aha :) ďakujem







_________________
|ASUS-N53SN|i7-2630QM Sandy Bridge|6GB DDR3 1333 MHz|GeForce GT550m 2GB VRAM|OCZ Agility 3 120GB SSD|
Odpovedať na tému [ 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

Skočiť na:  
cron

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra