Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Dobry den,
mam tu takovy problem, prikladam vynatek zdrojaku, tam kde je par tecek, je cast, se kterou neni problem.
var cislo:char; dobre:boolean;
cethlasproc:array['a'..'z'] of real;
cetdvojproc:array['a'..'z','a'..'z'] of real;
procedure nacteni(var cethlasproc:array of real; var cetdvojproc:array of real);
var cetnost_hlasek:array['a'..'z']of int64;
cetnost_dvojic:array['a'..'z','a'..'z'] of int64;
t:text;g,hel:char;
angl,dvojic:int64;
begin
........................................
for hel:='a' to 'z' do
begin
cethlasproc[hel]:=(cetnost_hlasek[hel]/angl);
for g:='a' to 'z' do
begin
cetdvojproc[hel,g]:=(cetnost_dvojic[hel,g]/dvojic);
end;
end;
end;
................................
begin
.....................
nacteni(cethlasproc,cetdvojproc);
end.
Problem spociva v tom, ze dostanu hlasku u prirazovani cethlasproc[hel] i u toho cetdvojproc[hel,g]
incompatible types got char, expected longint.
Jenze ja potrebuji ty dve pole mit charem od a do z a ne cisly.
dekuji za rady.
myrek
Offline
Myslím, že tímto způsobem nejdou do procedury/funkce předat takto definovaná pole. Udělej si na to speciální typ:
type
pole1_typ = array['a'..'z'] of real;
pole2_typ = array['a'..'z', 'a'..'z'] of real;
var
cethlasproc: pole1_typ;
cetdvojproc: pole2_typ;
procedure nacteni(var cethlasproc: pole1_typ; var cetdvojproc: pole2_typ);
==================
Kromě toho, malinko míň elegantní řešení by též mohlo využít toho, že procedura bude přímo přistupovat na globální proměnnou. V tom případě můžeš nechat definice jak máš (tj. bez zavádění datových typů pole1_typ a pole2_typ), procedura nacteni nebude mít žádný formální parametr a protože jsi stejně ty formální parametry pojmenovat stejně jako globální proměnné, nic víc se nezmění. Prostě jen bude
procedure nacteni;
Offline