Hogyan kéne ezt az eljárást megírni pascalban?
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
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.
#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
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... :-)
Hihetetlen, hogy ez a gyökér nem tud eltakarodni innen.
Hányszor kell meg megalázni, lepontozni?
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!