diky vsem za ohlas
prisel jsem na to jeste ten vecer kdyz jsem to hodil do bp
(standartne pouzivam pouze kompilator a ten nic nehlasil)
vyresil jsem to dynamickou promennou, pak vse bezelo bezproblemu
diky vsem
martin sznapka
______________________________________________________________
>
> > dobry den
> > potrebuju helfnout s pascalem
> > nevim proc mi tenhle programek nejde (runtime error):
>
> > program e;
> > type rec=record
> > cislo:0..200;
> > misto:string;
> > end;
>
> > matice=array[1..200] of rec;
>
> > var mat:matice;
>
> > procedure vypis({var} m:matice);
> > begin
> > writeln('hello');
> > end;
>
> > begin
> > vypis(mat);
> > readln;
> > end.
>
> > jedna se prave o ten var, pokud je totiz matice pouze vstupni
> > pak mi cely program haze error
> > pokud vstupne-vystupni je vse OK
>
> Asi "vstupni" myslis volane hodnotou a "vstupne-vystupni" volane
> odkazom.
>
> > v tom vsak problem nevidim - nebot pokud matice bude pouze
> > vstupni a
> > umazneme z typu rec napr misto, pak cely prog jede bez
problemu
>
> > napada me pouze nejake omezeni ze strany pameti, ale jelikoz
o
> > tom nevim
> > tak mi prosim poradte
>
> Mas pravdu, bude to pametovou narocnostou. Pri volani hodnotou
sa ten
> vstupni paramater kopiruje do lokalnej premennej procedury,
teda je v
> pameti 2x. Pri volani odkazom sa pouziva premenna ktoru mas v
> skutocnych parametroch.
>
> Nasvedcuje tomu aj to ze ked das:
> matice=array[1..20] of rec;
> teda 20 miesto 200 prvkov pola, tak to funguje obidvoma
sposobmi.
>
> Riesenie: pouzivaj dynamicke datove struktury tvorene pointrami.
>
> --
> S pozdravom,
> Michal Bilcik (ICQ# 156366308)
--------------------
Centrum pro milovníky penìz http://finance.centrum.cz
This archive was generated by hypermail 2.1.2 : 27. 04. 2002, 15:37 CEST