Datový typ – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Datový typ – Pascal – Fórum – Programujte.comDatový typ – Pascal – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Rade.k
~ Anonymní uživatel
5 příspěvků
25. 11. 2008   #1
-
0
-

Zdravím všechny,
potřeboval bych pomoct. Mohl by mi někdo poradit, jakým způsobem si lze nadefinovat vlastní proměnný datový typ? Příklad:
Když si třeba budu chtít nadefinovat datový typ - matice, jejíž velikost bude záviset na uživateli, postupoval bych nejspíše takto:

program pokus;
uses crt;
type matice = array[1..n,1..n] of integer;
.
.
.


problém bude, že to takto nebude fungovat. Nevěděl by někdo jak to ošetřit? Zkoušel sem to pomocí dynamických polí, ale zatím bezúspěchu.
Díky moc.

Nahlásit jako SPAM
IP: 90.177.57.–
Reklama
Reklama
o-lox0
Super člen
25. 11. 2008   #2
-
0
-

Nejrychlejší řešení (z hlediska pracnosti) je nadefinovat si maximální
velikost array[1..100,1..100]of integer; a to ti umožní přístup pro n pokud očekáváš hodn. do 100.
Jinak to udělat nemůžeš. Je to kvuli tomu, ze by spusteny program nevedel jak z 2 rozmerne prevadet na linearni adresu.

Pokud chceš přesně velkou dynamickou proměnnou můžeš zkusit přístup přes funkci místo pole
napr. u silne nesymetricke matice (10x5000),(..)
function cteni(x,y:integer):integer; {x,y souradnice pro cteni}
procedure zapis(x,y,co:integer); {co = slovo k zapsani}
Vevnitr funkce budes pristupovat treba ke globalni promenne Buffer
Buffer : ^array[1..10000000]of integer; {jen zkratkove}
buffer^[x+n*y]:=co; {podobne pro cteni}
Vyhoda tohoto pristupu je snadne ohlidani si presahu, ale ztratis neco na rychlosti.

Nahlásit jako SPAM
IP: 85.71.152.–
rade.k
~ Anonymní uživatel
5 příspěvků
25. 11. 2008   #3
-
0
-

Díky.

Nahlásit jako SPAM
IP: 90.177.57.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 14 hostů

Podobná vlákna

Dátový typ — založil zonda

Datový typ v tabulce — založil LiDr

Datový typ - 256 bitů — založil Hlavinka

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý