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