Kezdőoldal » Számítástechnika » Programozás » Hogyan kéne ezt az eljárást...

Hogyan kéne ezt az eljárást megírni pascalban?

Figyelt kérdés

Tehát a feladat eléggé egyszerű , de nekem mégis nehéz:

Van egy 32x 32 es tömbünk ( T) és ezt kéne úgy feltölteni hogy a külső cellákban nulla legyen , belül pedig mindegyik cellában VLETLENSZERŰN 1 vagy -1.

a két változó a két kordináta x és y.

Na ezt kaptuk infobol. Vki meg tudja oldani?

fonto h ez egy program része tehát ezeknek nem kell megjelenítődie !

ez csak egy "virtuális " tömb legyen



2015. szept. 24. 17:08
1 2
 11/19 SimkoL ***** válasza:
Kíváncsi vagyok a 'megfejtésre' :)
2015. szept. 24. 19:14
Hasznos számodra ez a válasz?
 12/19 SimkoL ***** válasza:

Igaz ez nem 'virtuális', mivel ki is van íratva, de én valahogy így képzeltem el:


program Random1;


var x, y : Shortint;

    tomb : array[1..32, 1..32] of Shortint;

begin

  Randomize;

  FillChar(tomb, 32 * 32, 0);

  for x := 2 to 31 do for y := 2 to 31 do

  begin

    tomb[x, y] := Random(2);

    if tomb[x, y] = 0 then tomb[x, y] := -1;

  end;

  for x := 1 to 32 do

  begin

    for y := 1 to 32 do Write(tomb[x, y]:2);

    WriteLn;

  end;

  ReadLn;

end.

2015. szept. 24. 19:41
Hasznos számodra ez a válasz?
 13/19 tabaki ***** válasza:
Na tessék, SimkoL már megint megírt egy leckét... Bár hasznos volt, a FillChar() nekem nem jutott eszembe, meg a véletlen -1 is frappánsabb, mint ahogy én csináltam. Nem, mintha bemutattam volna, de elhiheted becsszóra :)
2015. szept. 24. 19:56
Hasznos számodra ez a válasz?
 14/19 SimkoL ***** válasza:
Van sok eljárása, függvénye a Pascal-nak amikről hajlamosak vagyunk elfelejtkezni, ezért is tettem be ide amit írtam. Emlékszel, egy időben a halmazokat 'favorizáltam', mert feledésbe merültek.
2015. szept. 24. 20:08
Hasznos számodra ez a válasz?
 15/19 SimkoL ***** válasza:
...de szerintem itt is inkább a logikáról szól a dolog, hogy ismerje fel mely helyeket kell is feltölteni 1 és -1 értékekkel. Bár én nem vagyok tanár...
2015. szept. 24. 20:11
Hasznos számodra ez a válasz?
 16/19 A kérdező kommentje:
köszi srácok
2015. szept. 25. 21:33
 17/19 anonim ***** válasza:

#13 (tabaki):


SimkoL rendőr létére valóban igyekszik optimális megoldásokat adni, elég meggyőzően is csinálja, de azért ne emeld isteni magaslatokra, hiszen:


1.: FillChar / FillByte

[link]


Ezek tulajdonképpen csak eljárások, melyek ugyanazokat az ellemi lépéseket csinálják meg (egymásba ágyazott for ciklus), mint amit gondolom Te is alkalmaztál... :-) ...ennyi erővel csinálhatnék egy eljárást ami mondjuk azt a nevet viselné, hogy: "NullavalBekeretezettMatrix" és megoldaná a fenti feladatot, a legfrappánsabb lenne! :-)


2.: a mátrix feltöltése -1 vagy 1 értékekkel pedig, nos hát érdekes, ugyanis egy feltételvizsgálat mindig lassú, főleg ha egyenlőséget vizsgálunk... ...így tehát SimkoL megoldásánál még az is gyorsabb lenne, hogy létrehozol egy constans tömböt:


Const egy:Array[0..1] of ShortInt = (-1,1);


...majd a feltöltésnél csak annyit írsz, hogy:


tomb[x,y]:=egy[RaNDom(2)];


:-)


...és ha már optimálisak akarunk lenni, akár a kiírást össze is vonhatnánk a feltöltéssel... :-)

2015. szept. 25. 22:25
Hasznos számodra ez a válasz?
 18/19 SimkoL ***** válasza:
Talán azért még a FillChar eljárás megismerésére gyúrjál rá egy keveset.
2015. szept. 26. 11:32
Hasznos számodra ez a válasz?
 19/19 anonim ***** válasza:

Hihetetlen, hogy ez a gyökér nem tud eltakarodni innen.

Hányszor kell meg megalázni, lepontozni?

2015. szept. 26. 11:38
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!