Mohli byste mi prosím poradit, proč mám tuto chybovou hlášku?
Mám tři matice - array of byte (A, coulour1 a colour2) a pomocí dvou se odkazuji na třetí (i je typu byte)
Hláška se objevuje u příkazu
if A[colour1[i],colour[i]]=1then ...
Děkuji za rady.
PS: jsem začátečník, proto prosím vysvětlení velmi jednoduše
"Error 201: Range check error." v Turbo Pascalu Vyřešeno
-
- Level 1
- Příspěvky: 90
- Registrován: září 11
- Pohlaví:
- Stav:
Offline
- CZechBoY
- Master Level 9.5
- Příspěvky: 8813
- Registrován: srpen 08
- Bydliště: Brno
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: "Error 201: Range check error." v Turbo Pascalu
já neznám Pascal, ale pokusím se něco poradit :)
pole A je tedy dvourozměrné?
nelze do něj přistupovat spíše takhle: A[colour1[i][colour[i]] ?
pole A je tedy dvourozměrné?
nelze do něj přistupovat spíše takhle: A[colour1[i][colour[i]] ?
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Re: "Error 201: Range check error." v Turbo Pascalu
Pokoušíš se přistupovat do pole mimo jeho rozsah, například když máš
pole[1..10,1..10]
tak volání
pole[5,0]
vyhodí tuhle chybu, stejně jako
pole[5,11]
Prověř co v těch colour1[] a colour2[] máš za hodnoty.
pole[1..10,1..10]
tak volání
pole[5,0]
vyhodí tuhle chybu, stejně jako
pole[5,11]
Prověř co v těch colour1[] a colour2[] máš za hodnoty.
"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
Re: "Error 201: Range check error." v Turbo Pascalu
A je arry of byte
Nelze použít A[ něco, něco] lze použít pouze A[něco];
aby to šlo použít,muselo by to být takto:
var
A : array of array of byte;
Nelze použít A[ něco, něco] lze použít pouze A[něco];
aby to šlo použít,muselo by to být takto:
var
A : array of array of byte;
Re: "Error 201: Range check error." v Turbo Pascalu
Sender píše:Nelze použít A[ něco, něco] lze použít pouze A[něco];
Tenhle blábol jsi vzal kde?
Dvourozměrné pole se jmenuje matice, nebo anglicky matrix:
Kód: Vybrat vše
program matrix;
var
i,j: integer;
m: array [1..10,1..10] of char;
begin
randomize;
for i:=1 to 10 do
for j:=1 to 10 do
m[i,j]:=chr(random(26)+ord('A'));
for i:=1 to 10 do
begin
for j:=1 to 10 do
write(m[i,j],' ');
writeln;
end;
readln
end.
Výsledek:
Kód: Vybrat vše
S R N X Y X W B Y R
J L C U U O I I G D
K U U M S M H D L L
X A F X E P H X K X
L S L C I F O O L C
V F I C B G Q U M U
E O H L K D Q Q L Y
J Z M M P F R E Y T
K J C E S I B Z M E
T D L B P R P M C O
Je to jedna ze základních datových struktur, takže teď aspoň víš o čem ten film vlastně je

"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
Re: "Error 201: Range check error." v Turbo Pascalu
To není blábol ! Tazatel používá dynamické pole(nejprve je potřeba SetLength ). To co jsi napsal je statické....
Re: "Error 201: Range check error." v Turbo Pascalu
"Error 201: Range check error." v Turbo Pascalu
Obávám se, že SetLength() se v Turbo Pascalu nevyskytuje

"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
Re: "Error 201: Range check error." v Turbo Pascalu
Pravda,standardně ne,ale existují knihovny třetích stran který to řeší.
Re: "Error 201: Range check error." v Turbo Pascalu
Jasně že knihovny třetích stran existují, po webech začátečníků, co si po půl roce myslí že umí programovat, se jich válejí stovky, určitě budou všechny stoprocentně odladěné a multiplatformní, navíc jasně vidím jak si je školáci po třech lekcích instalují... V Turbo Pascalu si člověk holt musí vystačit s GetMem() 

"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
-
- Level 1
- Příspěvky: 90
- Registrován: září 11
- Pohlaví:
- Stav:
Offline
Re: "Error 201: Range check error." v Turbo Pascalu
Děkuji Vám za odpovědi.
Stejně nevím, o co se jedná, ale zjistila jsem, v čem mám chybu, tak uzavírám diskuzi.
Faraone měl jsi pravdu, takhle se se začátečníkem nemluví... ale půl roku teda ještě neprogramuji, já jsem s tím právě teď začala...
Stejně nevím, o co se jedná, ale zjistila jsem, v čem mám chybu, tak uzavírám diskuzi.
Faraone měl jsi pravdu, takhle se se začátečníkem nemluví... ale půl roku teda ještě neprogramuji, já jsem s tím právě teď začala...
Zpět na “Programování a tvorba webu”
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 0 hostů