[ Príspevkov: 17 ] 
AutorSpráva
Offline

Zmazaný užívateľ
Zmazaný užívateľ
Obrázok užívateľa
NapísalOffline : 25.05.2007 17:22 | nahodne vykreslovanie - pascal

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.


Offline

Zmazaný užívateľ
Zmazaný užívateľ
Obrázok užívateľa
Napísal autor témyOffline : 25.05.2007 18:01 | nahodne vykreslovanie - pascal

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 | 9
NapísalOffline : 25.05.2007 18:05 | nahodne vykreslovanie - pascal

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
Napísal autor témyOffline : 25.05.2007 18:08 | nahodne vykreslovanie - pascal

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

Zmazaný užívateľ
Zmazaný užívateľ
Obrázok užívateľa
Napísal autor témyOffline : 25.05.2007 18:14 | nahodne vykreslovanie - pascal

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?


Offline

Zmazaný užívateľ
Zmazaný užívateľ
Obrázok užívateľa
Napísal autor témyOffline : 25.05.2007 18:17 | nahodne vykreslovanie - pascal

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: 153
Témy: 1 | 1
NapísalOffline : 25.05.2007 22:29 | nahodne vykreslovanie - pascal

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

Zmazaný užívateľ
Zmazaný užívateľ
Obrázok užívateľa
Napísal autor témyOffline : 26.05.2007 10:18 | nahodne vykreslovanie - pascal

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:


Offline

Zmazaný užívateľ
Zmazaný užívateľ
Obrázok užívateľa
Napísal autor témyOffline : 26.05.2007 10:43 | nahodne vykreslovanie - pascal

este by ma zaujimalo ako ked mam zadane ze nech vypisuje miesto X znak s poradovim cislom napr 200, ako to zadam pascalu...


Offline

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

Registrovaný: 16.05.07
Prihlásený: 01.08.17
Príspevky: 837
Témy: 6 | 6
NapísalOffline : 26.05.2007 11:57 | nahodne vykreslovanie - pascal

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


Offline

Zmazaný užívateľ
Zmazaný užívateľ
Obrázok užívateľa
Napísal autor témyOffline : 26.05.2007 12:23 | nahodne vykreslovanie - pascal

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


Offline

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

Registrovaný: 30.05.07
Prihlásený: 29.03.14
Príspevky: 641
Témy: 46 | 46
NapísalOffline : 01.06.2007 13:05 | nahodne vykreslovanie - pascal

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 | 9
NapísalOffline : 03.06.2007 13:53 | nahodne vykreslovanie - pascal

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 | 46
NapísalOffline : 03.06.2007 14:52 | nahodne vykreslovanie - pascal

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 | 6
NapísalOffline : 03.06.2007 20:43 | nahodne vykreslovanie - pascal

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 | 9
NapísalOffline : 03.06.2007 21:19 | nahodne vykreslovanie - pascal

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 | 6
NapísalOffline : 03.06.2007 22:38 | nahodne vykreslovanie - pascal

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
 [ Príspevkov: 17 ] 


nahodne vykreslovanie - pascal



Podobné témy

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

Free Pascal a Turbo Pascal

v Ostatné

0

473

19.12.2014 13:18

Styracoz

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

vykreslovanie grafu

v Ostatné

6

968

27.08.2011 11:54

vama

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

Pomale vykreslovanie Photoshop

v Grafické programy

4

629

12.11.2009 12:29

El_locco

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

[Delphi] vykreslovanie drahy

v Ostatné

9

948

16.02.2011 19:34

vama

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

Vykreslovanie do Canvas

v Backend

4

380

13.04.2013 12:14

XOLOO

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

gts250 1gb vykreslovanie

v nVidia grafické karty

4

441

01.01.2011 9:47

marko13

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

QtCreator - vykreslovanie pixelov

v Backend

9

662

27.02.2011 23:40

Fico

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

SVG vykreslovanie v cecku

v Backend

12

849

19.06.2011 17:52

ice-g

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

C - vykreslovanie sikmych ciar

v Backend

8

713

29.05.2010 13:48

stopa27

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

Ati Radeon HD4870 - zle vykreslovanie

v AMD grafické karty

1

723

09.10.2011 9:56

mirom

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

Delphi - Dynamické vykreslovanie (runtime) komponentov

v Ostatné

3

620

15.10.2010 10:05

coldak

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

Zlé vykresľovanie 3D rozmerov v prehliadači

v Monitory, televízory a projektory

6

137

06.02.2026 1:50

kristianosko

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

nahodne

v CMS

7

859

20.08.2007 15:42

Flety

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

náhodné bity

v Backend

3

588

07.12.2008 15:08

rooobertek

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

nahodne obrazky

v Frontend

5

1027

29.01.2009 20:43

dsljohn

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

náhodné BSOD

v Windows

12

681

18.06.2013 22:32

walther



© 2005 - 2026 PCforum, edited by JanoF