Sort Arrays like Array(100,20,1,1,1)

Just starting out? Need help? Post your questions and find answers here.
ricardo
Addict
Addict
Posts: 2402
Joined: Fri Apr 25, 2003 7:06 pm
Location: Argentina

Sort Arrays like Array(100,20,1,1,1)

Post by ricardo »

Any idea? Maybe there is some trick that i dont know, i dont use arrays often.

Thanks in advance?


<edited>

This don't work for me:

Code: Select all

OpenConsole()
Dim MyArray(10,1)

For i = 0 To 9
    MyArray(i,1) = 10-i
    PrintN(Str(MyArray(i,1)))
Next

SortArray(MyArray(),0)
PrintN("")

For ii = 0 To 9
    PrintN(Str(MyArray(ii,1)))
Next

Repeat:Until Inkey() <> ""
End
ARGENTINA WORLD CHAMPION
Dare2
Moderator
Moderator
Posts: 3321
Joined: Sat Dec 27, 2003 3:55 am
Location: Great Southern Land

Post by Dare2 »

Heya ricardo,

It looks like it treats the whole thing as an a one-dimensional array and sorts. 8O

All the values end up in the last few elements of the array, in (6,0) to (10,1) so I assume it stores values internally as a contiguous chunk of values:
  (0,0) (0,1) (1,0) (1,1) .. (10,0) (10,1)
and just sorts those values.

Code: Select all

Dim MyArray(10,1) 

For i = 0 To 10
  MyArray(i,1) = 10-i
  For j=0 To 1
    Debug Str(i)+":"+Str(j)+" = "+Str(MyArray(i,j))
  Next
Next 

SortArray(MyArray(),0) 

Debug "==="

For ii = 0 To 10 
  For jj=0 To 1
    Debug Str(ii)+":"+Str(jj)+" = "+Str(MyArray(ii,jj))
  Next
Next


Weird.
Post Reply