Pascal: tömb elemeinek számát változóval miként lehet megadni, van erre mód?
Free Pascal alatt szeretném megadni változóval a tömb elemeinek számát (nem dinamikus hanem statikus tömböt szeretnék használni).
A fordítónak minden esetben tudnia kell statikus tömb esetén a konkrét ememszámot (?) gondolom talán ezért nem megy...
Nincs mégis valami mód?
program tprog;
var
n : longint;
tomb : array [1..n] of longint;
begin
end.
I. variáció:
Ezt konstanssal szokták megadni
program tprog;
const
MAXNUM=123;
var
n : longint;
tomb : array [1..MAXNUM] of longint;
begin
end.
II. variáció:
felveszel egy viszonylag nagy elemszámú tömböt és aztán a változónak (n) megfelelő számút kezelsz. (bár ez memóriapazarlós)
III. variáció:
Köszönöm, a konstansos változatot és a másikat is ismertem.
Szóval statikus tömb esetén mindenképp kell tudnia a fordítónak hogy mekkora lesz, mondjuk ez így is logikus.
#2-esnek (kérdező)
A III-dik variációt megnézted??? Az szerintem az ami neked kell!
(hiszen úgy viselkedik, mint a normális tömb, elrejtve előled, hogy dinamikus... :-))
Ja persze... sebesség szempontjából kritikus programot tuti pascalban fogsz írni.
Annyival nem lassabb, hogy észrevedd. Használd nyugodtan.
Másrészt meg: "Premature optimization is the root of all evil", "Előbb működjön, aztán legyen gyors.".
Különben is profilozással szokás a szűk keresztmetszetet megkeresni, nem eleve fejlesztéskor kitalálni, hogy vajon majd hol lehet.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, 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!