Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Gambas for silmukassa if lause

Sivun loppuun

koikko [01.01.2011 23:59:40]

#

Miksei alla oleva koodi toimi?

FOR y = 1 TO 5

  FOR I = 1 TO 7
  X = Rnd(39)
  IF ARVOTUT[x] = 1
    THEN NEXT

  RIVIT[y, i] = x
  ARVOTUT[x] = 1
  NEXT
NEXT

Virhe tulee if lauseen perässä olevasta next käskystä

Antti Laaksonen [02.01.2011 00:07:58]

#

Mitä ohjelmasi kuuluisi tehdä?

En ole käyttänyt Gambas-kieltä, mutta luulisin, että NEXT-komento saa olla vain FOR-silmukan lopussa.

koikko [02.01.2011 00:18:29]

#

Kyseisessä for silmukassa tutkitaan onko taulukossa kohdassa arvo jo käytytty, jos on arvotaan uusi .Eli for silmukkaa EI ajeta loppuun jos kyseinen ehto täyttyy.
Joten lause 'for... if tapaus on tosi then next´ toimi aikanaan joillakin basic:lla.

jalski [02.01.2011 00:22:17]

#

Samoilla linjoilla Antin kanssa olen.

Itsekkään en Gambasia tunne, mutta useimmissa Basic-kielissä CONTINUE komento tuon kyseisen herjaavan NEXT komennon paikalla tekisi varmaankin haluamasi asian.

koikko [02.01.2011 00:26:29]

#

Tuo CONTINUE ratkaisi asian.
Kiitos.

Ei ratkaistunutkaan. Eipä huoli yhtään NEXT statementtiä tuon CONTINUE merkinnän jälkeen.

Täytynee tehdä tuo c:llä. Piti vain näyttää pojalle että ei kaikkeen tarvita c++.

-tossu- [02.01.2011 00:59:43]

#

koikko kirjoitti:

Ei ratkaistunutkaan. Eipä huoli yhtään NEXT statementtiä tuon CONTINUE merkinnän jälkeen.

En ole ikinä kuullutkaan Gambas-kielestä, mutta Googlella löytyi esimerkki CONTINUEn käytöstä Gambasissa. http://gambasdoc.org/help/lang/continue?view Kyllä tuossa on NEXT CONTINUEn jälkeen.

Mizou [02.01.2011 02:44:42]

#

-tossu-:n linkkiä seuraamalla huomaa, että IF:n kanssa käytetään ENDIF:iä?

koikko [02.01.2011 20:34:10]

#

Joo ENDIF sinne vaaditaan.

Mielestäni tuo ei ole pakollinen kaikissa Basic:ssa, OK gambas sen vaatii.

Grez [02.01.2011 20:36:18]

#

koikko kirjoitti:

Joo ENDIF sinne vaaditaan.

Mielestäni tuo ei ole pakollinen kaikissa Basic:ssa, OK gambas sen vaatii.

Useimmissa Basiceissa menee niin, että jos THEN jälkeen on samalla rivillä käsky, niin ei tarvitse END IF ja jos ei ole käskyä, niin sitten END IF tarvitaan. Useimmissa Basiceissa ei myöskään THEN voi olla eri rivillä kuin IF.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta