Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: QB: Viikon tyhmä kysymys (qb)

E.K.Virtanen [15.02.2005 20:33:12]

#

DIM TAULU(5,5) AS INTEGER

FOR x = 1 TO 5
   FOR y = 1 TO 5
      READ TAULU(x,y)
   NEXT y
NEXT X

DATA 3,3,3,3,3
DATA 3,2,2,2,3
DATA 3,2,1,2,3
DATA 3,2,2,2,3
DATA 3,3,3,3,3

CLS
FOR x = 1 TO 5
   FOR y = 1 TO 5
     LOCATE x,y:PRINT TAULU(x,y)
   NEXT y
NEXT x

Tulostus on vallan mielenkiintoinen.
Jotain teen väärin kun esim. LOCATE 1,1:PRINT TAULU(1,1)
pitäisi tulostaa numeron 5 jne.

Nyt näkyy kuitenkin vain viimeisten rivien viimeiset viitoset, oikeassa paikassa kylläkin mutta kaikki muu jääkin näkymättä.

Ja kuten tunnettua, vastaus on taas jokin yksinkertainen kuten kysyjäkin =)

Antti Laaksonen [15.02.2005 20:43:09]

#

PRINT-komento tulostaa lukuja ennen ja niiden jälkeen ylimääräisen välilyönnin. Tyylikästä ratkaisua ongelmaan ei tietääkseni ole (jos käytät PRINTiä ja lukumuuttujia), mutta voit esim. muuttaa tulostuskäskyn tällaiseksi:

PRINT LTRIM$(STR$(taulu(x, y)))

Nyt luku muutetaan merkkijonoksi ja alussa oleva välilyönti otetaan pois. Jos tulostettavana on pelkkiä numeroita, voit kirjoittaa myös lyhyemmin näin:

PRINT CHR$(taulu(x, y) + 48)

Koodin toiminta perustuu siihen, että numeromerkkien ASCII-koodi on 48 + numero.

E.K.Virtanen [16.02.2005 04:21:25]

#

Ok, kiitoksia. =)

Vastaus

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

Tietoa sivustosta