GLBasic forum

Other languages => GLBasic - de => Topic started by: tft on 2007-Aug-10

Title: Dim
Post by: tft on 2007-Aug-10
Hi

und eine eher doofe frage. Aber warum funktioniert das hir nicht?

Code (glbasic) Select
DIM s[29]
DIM c[29]

FOR i =0 TO 29
s[i]=SIN(i/29*360)*150 // !!!! diese zeile macht einen Fehler
c[i]=COS(i/29*360)*150
NEXT


FOR i =0 TO 29
PRINT s[i],10,i*10
PRINT c[i],50,i*10
NEXT
Title: Dim
Post by: Quentin on 2007-Aug-11
probiers mal so

Code (glbasic) Select
DIM s[30]
DIM c[30]

FOR i =0 TO 29
    s[i]=SIN(i/29*360)*150 // !!!! diese zeile macht einen Fehler
    c[i]=COS(i/29*360)*150
NEXT


FOR i =0 TO 29
PRINT    s[i],10,i*10
PRINT    c[i],50,i*10
NEXT
mit  DIM s[30] machst du 30 Einträge, zählst also von 0 bis 29
Title: Dim
Post by: tft on 2007-Aug-11
Hi ..

ja stimmt. 30 Elemente .. 0- 29. Ist etwas gewöhnungs bedürftig. In der Hilfe wird darauf nicht hingewiesen.
Title: Dim
Post by: Kitty Hello on 2007-Aug-11
OI! Lies mal das Tutorial über Arrays. :P
Title: Dim
Post by: Schranz0r on 2007-Aug-11
TFT war doch bei Blitz3D auch so !
Title: Dim
Post by: tft on 2007-Aug-11
HI ...

ich habe das Tut nicht gelesen. Eine solche info gehört zur Befehls Beschreibung. Tuts brauche ich im allgemeinen nicht. Und in der Befehls beschreibung wird nicht darauf hingewiesen.

Und in Blitz ist es nicht so. Da starten Arrays immer bei 0. Ein Dim f(9) hat 10 felder. Feld f(0) bis f(9). Ist nur eine sache der gewöhnung. Keinesfals Kritik.

Gruss TFT
Title: Dim
Post by: Schranz0r on 2007-Aug-11
hmm stimmt, bei Blitz werden die felder schon in der Deklaration geschrieben!
50 Felder  = DIM ARRAY(49)

Quote from: "Blitzhilfe"Ein DIM-Feld fängt immer ab 0 an. Somit kann DIM feld(49) nicht 49, sondern 50 Einträge speichern (0-49).