| | |
| Stránka: 1 z 1
| [ Príspevkov: 17 ] | |
Autor | Správa |
---|
Registrovaný: 05.10.06 Prihlásený: 15.10.18 Príspevky: 1891 Témy: 148 Bydlisko: Bratislava | Napísal Kamahl: 25.05.2007 17:22 | |
|
kamos maturuje z info a ma 30 zadani. robi to v C. ja mam maturu este pred sebou ale skusam nieco v pascale a nevim si rady s jednym. to dnes robil do tretej v C a teraz doma skusam v pascale ale mam problem.
takze chcem nahodne postupne vypisat na obrazovku 'X' az kym sa nevypise cela alebo stlacim enter...
toto je zatial len tak spravene ze kym nestlacim key, ale problem je v tom ze ono to posuva obrazovku dole, to bude asi tym ze Y vybera viac ako je na obrazovke, a to je ak sa nemylim 480... ale sak mam napisane "y:=random(478)+1;" takze nevim proc... a dalsi problem ze ono to vybere nejaku suradnicu a potom nakresli nejaky pocet Xsiek, neviem preco to nenapise len jedno X... dufam ze ste ma pochopili lebo nemam moc dar vysvetlovania
Kód: uses crt; var x,y,i:integer; procedure pis; begin x:=random(638)+1; y:=random(478)+1; gotoxy(x,y); write('X'); end; begin randomize; clrscr; repeat pis; delay(5); until keypressed; readln; end.
_________________ Notebook Dell 7537, 24" BenQ BL2411PT, Logitech Illuminated keyboard, Razer DeathAdder, Razer Goliathus, Koss Porta Pro |
|
|
Kód: Program X; uses crt; var x,y:integer; begin randomize; clrscr; repeat x:=random(80); y:=random(50); gotoxy(x,y); write('X'); delay(5); until keypressed; readln; end.
|
|
Registrovaný: 17.11.06 Prihlásený: 31.12.07 Príspevky: 677 Témy: 9 |
Ivan11114: y by som dal iba na 25, a ešte by som to upravil aby nikdy nedalo X na pozíciu kde už je (síce ho prepíše, ale môže zaplnenie displeya trvať dlho)
|
|
|
Ja viem ja by som to riesil inak. Ale ak to chalan chcel takto, tak mu do toho skakat nebudem. Nechcsi to zmeni. Mne to islo dobre.
|
|
Registrovaný: 05.10.06 Prihlásený: 15.10.18 Príspevky: 1891 Témy: 148 Bydlisko: Bratislava | Napísal autor témy Kamahl: 25.05.2007 18:14 | |
|
aha diki a mohli by ste mi nekto vysvetlit preco mi to neslo? ja som to robil cez proceduru pretoze ten program ma este pokracovat, ale to je uz o inom... to koli tej procedure?
_________________ Notebook Dell 7537, 24" BenQ BL2411PT, Logitech Illuminated keyboard, Razer DeathAdder, Razer Goliathus, Koss Porta Pro |
|
|
Kamahl píše: aha diki a mohli by ste mi nekto vysvetlit preco mi to neslo? ja som to robil cez proceduru pretoze ten program ma este pokracovat, ale to je uz o inom... to koli tej procedure?
Sirka monitora je 80x25 ci tak dako. Nechapem naco si tam daval pixely ci co to bolo. A procedura na tak kratky program ?
|
|
Registrovaný: 02.09.05 Prihlásený: 17.11.10 Príspevky: 154 Témy: 1 |
Ivan11114 píše: Sirka monitora je 80x25 ci tak dako. Nechapem naco si tam daval pixely ci co to bolo. A procedura na tak kratky program ? To nie je sirka monitora, ale textovy rezim v pascali...
|
|
Registrovaný: 05.10.06 Prihlásený: 15.10.18 Príspevky: 1891 Témy: 148 Bydlisko: Bratislava | Napísal autor témy Kamahl: 26.05.2007 10:18 | |
|
programator píše: To nie je sirka monitora, ale textovy rezim v pascali...
ahaa, dik vam obom za vysvetlenie, nevim preco som tam pchal pix, som lama
_________________ Notebook Dell 7537, 24" BenQ BL2411PT, Logitech Illuminated keyboard, Razer DeathAdder, Razer Goliathus, Koss Porta Pro |
|
Registrovaný: 05.10.06 Prihlásený: 15.10.18 Príspevky: 1891 Témy: 148 Bydlisko: Bratislava | Napísal autor témy Kamahl: 26.05.2007 10:43 | |
|
este by ma zaujimalo ako ked mam zadane ze nech vypisuje miesto X znak s poradovim cislom napr 200, ako to zadam pascalu...
_________________ Notebook Dell 7537, 24" BenQ BL2411PT, Logitech Illuminated keyboard, Razer DeathAdder, Razer Goliathus, Koss Porta Pro |
|
Registrovaný: 16.05.07 Prihlásený: 01.08.17 Príspevky: 837 Témy: 6 | Napísal juho: 26.05.2007 11:57 | |
|
nie som si isty ale zeby takto? Kód: write(chr(200))
|
|
Registrovaný: 05.10.06 Prihlásený: 15.10.18 Príspevky: 1891 Témy: 148 Bydlisko: Bratislava | Napísal autor témy Kamahl: 26.05.2007 12:23 | |
|
juho píše: nie som si isty ale zeby takto? Kód: write(chr(200))
ano ide to dik
a dalsia otazocka... ked nechem aby sa mi vyberalo rovnake suradnice, ako to spravim? napadlo am jedine zapisovat pouzite suradnice do nejakeho dokumentu a potom ze by to citalo a kontrolovalo ci to uz je v nom alebo nie, a ak nie je tak nakresli znak a zaroven zapise suradnicu do doc... ale urcite sa to da aj lahsie
dik za rady
_________________ Notebook Dell 7537, 24" BenQ BL2411PT, Logitech Illuminated keyboard, Razer DeathAdder, Razer Goliathus, Koss Porta Pro |
|
Registrovaný: 30.05.07 Prihlásený: 29.03.14 Príspevky: 641 Témy: 46 |
Kamahl píše: a dalsia otazocka... ked nechem aby sa mi vyberalo rovnake suradnice, ako to spravim? napadlo am jedine zapisovat pouzite suradnice do nejakeho dokumentu a potom ze by to citalo a kontrolovalo ci to uz je v nom alebo nie, a ak nie je tak nakresli znak a zaroven zapise suradnicu do doc... ale urcite sa to da aj lahsie dik za rady
samozrejme sa to da lahsie, napr dvojrozmerne pole:
array[1..80,1..25] of boolean;
potom ked vygenerujes nahodne suradnice tak sa to preveri v poli ze ci true alebo false atd... ak este nemas o dvojrozmernych poliach ani sajnu tak to je na dlho... :
Kód: program x;
uses crt; var x,y,i:integer;
{takto vytvoris akoby tabulku 80*25 buniek a kazda bude mat hodnotu true alebo false} a : array[1..80,1..25] of boolean;
procedure pis; begin x:=random(80)+1; y:=random(25)+1; {a toto je ta podmienka, ktora zisti ci na [x,y] uz je napisane X alebo nie, ak nie tak ho napise a zapise to aj do pola...} if a[x,y] = false then begin gotoxy(x,y); write('X'); a[x,y] = true; end;
end;
begin randomize; clrscr; repeat pis; delay(5); until keypressed; readln; end.
dufam ze som to napisal bez chyb...
|
|
Registrovaný: 17.11.06 Prihlásený: 31.12.07 Príspevky: 677 Témy: 9 |
tlacitko Enter: teraz mi povedz čo tým získaš? je to rovnako neefektívne ako keď prekresluje bod. Jednoducho zvolí súradnicu bodu, pozre sa do matice na pozíciu a[x,y] a ak tam je true tak zvolí inú pozíciu a toto stále opakuje (ale zase ju volí náhodne tak zase môže zvoliť obsadenú). Teoreticky je to to isté ako keby prepisoval znak. Tiež sa môžeš na rovnakú pozíciu dostať n-krát a preto to môže trvať nekonečne dlho.
|
|
Registrovaný: 30.05.07 Prihlásený: 29.03.14 Príspevky: 641 Témy: 46 |
audiotrack píše: tlacitko Enter: teraz mi povedz čo tým získaš? je to rovnako neefektívne ako keď prekresluje bod. Jednoducho zvolí súradnicu bodu, pozre sa do matice na pozíciu a[x,y] a ak tam je true tak zvolí inú pozíciu a toto stále opakuje (ale zase ju volí náhodne tak zase môže zvoliť obsadenú). Teoreticky je to to isté ako keby prepisoval znak. Tiež sa môžeš na rovnakú pozíciu dostať n-krát a preto to môže trvať nekonečne dlho.
Ano, mas pravdu, takze lepsie by bolo pouzit zlozitejsi algoritmus - napriklad by sa generovalo nahodne 1 cislo: random(pocet prazdnych policok)+1; a podla tohto cisla by sa vypocitala dana bunka v matici s tym, ze zaplnene bunky by sa uz nebrali do uvahy => to by bol konecny algoritmus s nahodnym vykreslovanim ale vzdy na rovnaky pocet krokov by vykreslil celu obrazovku.
Napr. mam maticu 2 * 2, tak sa vygeneruje cislo od 1 do 4 , napr 2, potom bude vyzerat matica takto:
0 X
0 0
Potom sa bude generovat opat cislo ale uz od 1 do 3 , napr 2 a matica bude vyzerat takto:
0 X
X 0
potom z 1 - 2 , napr 1:
X X
X 0
atd...
Dalo by sa to aj tak ze to cislo by sa generovalo stale z rovnakeho intervalu random(80*25)+1; a potom by sa v matici vypocitavala bunka takym sposobom ze ak by to dorazilo na koniec, opat by to skocilo na zaciatok matice...
No dufam ze je to zrozumitelne.
|
|
Registrovaný: 16.05.07 Prihlásený: 01.08.17 Príspevky: 837 Témy: 6 | Napísal juho: 03.06.2007 20:43 | |
|
a co tak to nerobit nahodne ale s prikazom
Kód: for 1 to 80 do begin for 1 to 25 do write('x'); writeln; end;
prinutit nahodne generovanie aby negenerovalo nahodne sa proste neda.
_________________ getch();?{readkey;?} na konci? !A naco! Riesenie je (Alt+F5)
99% pochopí a shaggy je druhá kategória |
|
Registrovaný: 17.11.06 Prihlásený: 31.12.07 Príspevky: 677 Témy: 9 |
juho to iba zapíšeš pekne postupne zľava doprava a zhora dole obrazovku znakmi x, ale v zadaní bolo náhodné vykreslovanie
|
|
Registrovaný: 16.05.07 Prihlásený: 01.08.17 Príspevky: 837 Témy: 6 | Napísal juho: 03.06.2007 22:38 | |
|
audiotrack píše: juho to iba zapíšeš pekne postupne zľava doprava a zhora dole obrazovku znakmi x, ale v zadaní bolo náhodné vykreslovanie keby to bolo v TC tak by som nato pouzil gettext(); ale v pascale neviem najst ziadnu podobnu funkciu
_________________ getch();?{readkey;?} na konci? !A naco! Riesenie je (Alt+F5)
99% pochopí a shaggy je druhá kategória |
|
| Stránka: 1 z 1
| [ Príspevkov: 17 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| vykreslovanie grafu v Delphi, Visual Basic | 6 | 865 | 27.08.2011 11:54 vama | | Free Pascal a Turbo Pascal v Assembler, C, C++, Pascal, Java | 0 | 384 | 19.12.2014 13:18 Styracoz | | QtCreator - vykreslovanie pixelov v Assembler, C, C++, Pascal, Java | 9 | 580 | 27.02.2011 23:40 Fico | | [Delphi] vykreslovanie drahy v Delphi, Visual Basic | 9 | 859 | 16.02.2011 19:34 vama | | Pomale vykreslovanie Photoshop v Grafické programy | 4 | 548 | 12.11.2009 12:29 El_locco | | Vykreslovanie do Canvas v Assembler, C, C++, Pascal, Java | 4 | 287 | 13.04.2013 12:14 XOLOO | | gts250 1gb vykreslovanie v nVidia grafické karty | 4 | 356 | 01.01.2011 9:47 marko13 | | SVG vykreslovanie v cecku v Assembler, C, C++, Pascal, Java | 12 | 765 | 19.06.2011 17:52 ice-g | | C - vykreslovanie sikmych ciar v Assembler, C, C++, Pascal, Java | 8 | 634 | 29.05.2010 13:48 stopa27 | | Ati Radeon HD4870 - zle vykreslovanie v ATI/AMD grafické karty | 1 | 631 | 09.10.2011 9:56 mirom | | Delphi - Dynamické vykreslovanie (runtime) komponentov v Delphi, Visual Basic | 3 | 546 | 15.10.2010 10:05 coldak | | nahodne v Redakčné systémy | 7 | 778 | 20.08.2007 15:42 Flety | | Náhodné reštartovanie v Operačné systémy Microsoft | 0 | 273 | 15.04.2021 22:06 medove | | Náhodné reštarty v PC skrinky a zdroje | 3 | 370 | 03.05.2016 14:04 Miso122 | | nahodne obrazky v PHP, ASP | 2 | 557 | 08.09.2008 7:25 stenley | | náhodné bity v Assembler, C, C++, Pascal, Java | 3 | 513 | 07.12.2008 15:08 rooobertek |
| 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
|
|