Seite 1 von 1

fehler im array ?

Verfasst: 11.03.2005 16:36
von OptimusPrime
das ist mein code :
es geht darum, dass die werte in einem array überprüft werden, um einen index in einem 2. array zu schreiben.

d.h. der grösste wert des ersten arrays erhält im 2. array an gleicher position den höchsten index, etc...

ich benötige das, um eine legende korrekt darzustellen.

ich habe hier ein beispiel, das leider nicht funktioniert :
invalid parameters numbers for array :Insel()

ich habe viel experimentiert, verstehe diesen fehler allerdings überhaupt nicht ;o(

korrekte ausgabe des requesters wäre (sollte sein ;o) : "0,2,1,3,"

anz=3
ind=0
Dim Index.l(anz)
Dim Insel.l(20,50,40,70)

For i = 0 To anz
For k= 1 To anz
If Insel(i) > Insel(k) ; <- hier wird der fehler angezeigt
ind=ind+1
EndIf
Next k
Index(i)=ind
ind=0
Next i

For i=0 To anz
text$=text$+Str(index(i)+","
Next i

MessageRequester("index",text$, 0)


vielen dank !

Verfasst: 11.03.2005 16:38
von Hroudtwolf

Code: Alles auswählen

 For k= 0 To anz 
????

Verfasst: 11.03.2005 16:41
von Leo
Du hast ein 4-Dimensionales Array angelegt (warum auch immer)

Code: Alles auswählen

Dim Insel.l(20,50,40,70) ;<-- 4 Dimensionen
Später jedoch gibst du nur eine Dimension an, obwohl doch 4 erwartet werden.

Code: Alles auswählen

Insel(k) ;<-- Nur eine Dimension
Meinetwegen kann es so heißen (ich weiß ja nich, was du damit erreichen willst..) :

Code: Alles auswählen

Insel(k,0,0,0) ;<-- Alle 4 Dimensionen angegeben
[Edit]
Kanns sein, dass du das hier erreichen willst?

Code: Alles auswählen

anz=3 
ind=0 
Dim Index.l(anz) 
Dim Insel.l(anz) 
Insel(0) = 20
Insel(1) = 50
Insel(2) = 40
Insel(3) = 70

For I = 0 To anz 
    For k= 1 To anz 
        If Insel(I) > Insel(k)
            ind=ind+1 
        EndIf 
    Next k 
    Index(I)=ind 
    ind=0 
Next I 

For I=0 To anz 
    text$=text$+Str(Index(I))+"," 
Next I 

MessageRequester("index",text$, 0)

Verfasst: 11.03.2005 16:42
von zigapeda
Hroudtwolf hat geschrieben:

Code: Alles auswählen

 For k= 0 To anz 
????
Die Variable anz wurde ganz oben auf 3 festgelegt man könnte also auch

Code: Alles auswählen

For k = 0 To 3
schreiben

THANX

Verfasst: 11.03.2005 16:44
von OptimusPrime
4 dimensionales Array....
Ich Trottel...

(idas sollten eigentlich die werte des eindimensionalen sein, ich noob)

LOL

Vielen Dank !