Kezdőoldal » Számítástechnika » Programozás » Mi a gond a programmal? (Free...

Mi a gond a programmal? (Free Pascal)

Figyelt kérdés

Szeretnék egy egyszerűbb, Aknakereső-szerű játékot írni. Jelenleg a program véletlenszerűen ismeretlen mennyiségű bombát helyez el egy kétdimenziós tömbben, a következő módom: Egy "mező" tömbbe véletlenszerűen generál elemeket 1 és 10 között, majd egy "bomba" tömbbe, amely méretei megegyeznek "mező"-ével(m-szer n-es), booleanokat tesz be: Ha az mező[i,j]-ben 3-nál kisebb szám van, bamba[i,j] értéke TRUE lesz, ha nem, akkor FALSE (kérlek ne tegyetek megjegyzéseket arra, hogy milyen primitív módszer, és mennyire haszontalan, szeretném megtudni, bár egy ennyire képes vagyok-e). Ezután a program kiírja, hogy hány bomba van, ám ennél a résznél gondok vannak. Íme a programrészlet:


.

.

.

bombak:=0;

for i:=1 to n do

for j:=1 to m do

if bomba[i,j]=TRUE then

bombak:=bombak+1;

.

.

.


Mikor futtatom, a következőt írja ki:


"Illegal assignment to for-loop variable "i""


Fogalmam nincs, mit ronthattam el, és nagyon szeretném kijavítani. Free Pascalban programozok. Előre is köszönöm a segítséget.



2014. márc. 10. 18:40
 1/4 Tengor ***** válasza:
Deklaráltad az i változót?
2014. márc. 10. 18:42
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:
Igen. Már fentebb használtam, amikor feltöltöttem a tömböt a boolean változókkal.
2014. márc. 10. 18:52
 3/4 coopper ***** válasza:

Szia.


Valószinűleg nem itt van a hiba. (A hibás kódrészletet biztosan leirtad ?)


Melyik sornál jelzi a hibát a forditó ?


A következő problémák lehet a fenti hibánál szerintem :


1. Cikluson belül próbálod I ciklusváltozó értéket megváltoztatni (nem megengedett, régebben az volt most már nem az).


2. Nem megfelelő értéket szeretnél I-nek adni (pl String, vagy real, viszont I integerként van deklarálva)


Ha több kódod mutatsz, akkor pontosabb lehet a hiba meghatározása is.


Sok sikert.

Üdv.

2014. márc. 10. 18:56
Hasznos számodra ez a válasz?
 4/4 A kérdező kommentje:
Coopper: Úgy gondfoltam, hogy bemásolom a forréskódot, és közben vettem észre a hibát: egy begin nem volt bezárva end;-del, és ezért egy i-t használó for cikluson belül volt még egy ugyanilyen. Köszönöm a segítséget, ment a zöld.
2014. márc. 10. 19:15

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!