Obsah fóra
PravidláRegistrovaťPrihlásenie




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

Užívateľ
Užívateľ
nahodne vykreslovanie - pascal

Registrovaný: 05.10.06
Prihlásený: 15.10.18
Príspevky: 1891
Témy: 148
Bydlisko: Bratislava
Príspevok NapísalOffline : 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 :D

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
Offline

Zmazaný užívateľ
Zmazaný užívateľ
Obrázok užívateľa
Príspevok NapísalOffline : 25.05.2007 18:01

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.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.11.06
Prihlásený: 31.12.07
Príspevky: 677
Témy: 9
Príspevok NapísalOffline : 25.05.2007 18:05

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)


Offline

Zmazaný užívateľ
Zmazaný užívateľ
Obrázok užívateľa
Príspevok NapísalOffline : 25.05.2007 18:08

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.


Offline

Užívateľ
Užívateľ
nahodne vykreslovanie - pascal

Registrovaný: 05.10.06
Prihlásený: 15.10.18
Príspevky: 1891
Témy: 148
Bydlisko: Bratislava
Príspevok Napísal autor témyOffline : 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
Offline

Zmazaný užívateľ
Zmazaný užívateľ
Obrázok užívateľa
Príspevok NapísalOffline : 25.05.2007 18:17

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 ?


Offline

Užívateľ
Užívateľ
nahodne vykreslovanie - pascal

Registrovaný: 02.09.05
Prihlásený: 17.11.10
Príspevky: 154
Témy: 1
Príspevok NapísalOffline : 25.05.2007 22:29

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


Offline

Užívateľ
Užívateľ
nahodne vykreslovanie - pascal

Registrovaný: 05.10.06
Prihlásený: 15.10.18
Príspevky: 1891
Témy: 148
Bydlisko: Bratislava
Príspevok Napísal autor témyOffline : 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 :lol:







_________________
Notebook Dell 7537, 24" BenQ BL2411PT, Logitech Illuminated keyboard, Razer DeathAdder, Razer Goliathus, Koss Porta Pro
Offline

Užívateľ
Užívateľ
nahodne vykreslovanie - pascal

Registrovaný: 05.10.06
Prihlásený: 15.10.18
Príspevky: 1891
Témy: 148
Bydlisko: Bratislava
Príspevok Napísal autor témyOffline : 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
Offline

Užívateľ
Užívateľ
nahodne vykreslovanie - pascal

Registrovaný: 16.05.07
Prihlásený: 01.08.17
Príspevky: 837
Témy: 6
Príspevok NapísalOffline : 26.05.2007 11:57

nie som si isty ale zeby takto?
Kód:
write(chr(200))


Offline

Užívateľ
Užívateľ
nahodne vykreslovanie - pascal

Registrovaný: 05.10.06
Prihlásený: 15.10.18
Príspevky: 1891
Témy: 148
Bydlisko: Bratislava
Príspevok Napísal autor témyOffline : 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 :lol:
dik za rady







_________________
Notebook Dell 7537, 24" BenQ BL2411PT, Logitech Illuminated keyboard, Razer DeathAdder, Razer Goliathus, Koss Porta Pro
Offline

Užívateľ
Užívateľ
nahodne vykreslovanie - pascal

Registrovaný: 30.05.07
Prihlásený: 29.03.14
Príspevky: 641
Témy: 46
Príspevok NapísalOffline : 01.06.2007 13:05

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


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.11.06
Prihlásený: 31.12.07
Príspevky: 677
Témy: 9
Príspevok NapísalOffline : 03.06.2007 13:53

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.


Offline

Užívateľ
Užívateľ
nahodne vykreslovanie - pascal

Registrovaný: 30.05.07
Prihlásený: 29.03.14
Príspevky: 641
Témy: 46
Príspevok NapísalOffline : 03.06.2007 14:52

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. :roll:


Offline

Užívateľ
Užívateľ
nahodne vykreslovanie - pascal

Registrovaný: 16.05.07
Prihlásený: 01.08.17
Príspevky: 837
Témy: 6
Príspevok NapísalOffline : 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
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.11.06
Prihlásený: 31.12.07
Príspevky: 677
Témy: 9
Príspevok NapísalOffline : 03.06.2007 21:19

juho to iba zapíšeš pekne postupne zľava doprava a zhora dole obrazovku znakmi x, ale v zadaní bolo náhodné vykreslovanie


Offline

Užívateľ
Užívateľ
nahodne vykreslovanie - pascal

Registrovaný: 16.05.07
Prihlásený: 01.08.17
Príspevky: 837
Témy: 6
Príspevok NapísalOffline : 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
Odpovedať na tému [ Príspevkov: 17 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. vykreslovanie grafu

v Delphi, Visual Basic

6

865

27.08.2011 11:54

vama Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Free Pascal a Turbo Pascal

v Assembler, C, C++, Pascal, Java

0

384

19.12.2014 13:18

Styracoz Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. QtCreator - vykreslovanie pixelov

v Assembler, C, C++, Pascal, Java

9

580

27.02.2011 23:40

Fico Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [Delphi] vykreslovanie drahy

v Delphi, Visual Basic

9

859

16.02.2011 19:34

vama Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pomale vykreslovanie Photoshop

v Grafické programy

4

548

12.11.2009 12:29

El_locco Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Vykreslovanie do Canvas

v Assembler, C, C++, Pascal, Java

4

287

13.04.2013 12:14

XOLOO Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. gts250 1gb vykreslovanie

v nVidia grafické karty

4

356

01.01.2011 9:47

marko13 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. SVG vykreslovanie v cecku

v Assembler, C, C++, Pascal, Java

12

765

19.06.2011 17:52

ice-g Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C - vykreslovanie sikmych ciar

v Assembler, C, C++, Pascal, Java

8

634

29.05.2010 13:48

stopa27 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ati Radeon HD4870 - zle vykreslovanie

v ATI/AMD grafické karty

1

631

09.10.2011 9:56

mirom Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Delphi - Dynamické vykreslovanie (runtime) komponentov

v Delphi, Visual Basic

3

546

15.10.2010 10:05

coldak Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. nahodne

v Redakčné systémy

7

778

20.08.2007 15:42

Flety Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Náhodné reštartovanie

v Operačné systémy Microsoft

0

273

15.04.2021 22:06

medove Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Náhodné reštarty

v PC skrinky a zdroje

3

370

03.05.2016 14:04

Miso122 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. nahodne obrazky

v PHP, ASP

2

557

08.09.2008 7:25

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. náhodné bity

v Assembler, C, C++, Pascal, Java

3

513

07.12.2008 15:08

rooobertek Zobrazenie posledných príspevkov


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:  

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