Hej Den är inte tvådimensionell, så det borde inte vara något större problem. Så enkelt var det inte Jag förstår inte vad du menar är fel. Jag har ingen algorim ännu, därför frågan Jag förstår verkligen inte problemet. Tack, detta löste nog problemetHur sortera en tvådimensionell array
    
    
Har en tvådimensionell array enligt följande:
Test(0).A=10
Test(0).B=0,1
Test(1).A=50
Test(1).B=0,3
Test(2).A=30
Test(2).B=0,2
Test(3).A=100
Test(3).B=0,15
Vill sortera den efter värdet i A  så att följande erhålls
Test(0).A=10
Test(0).B=0,1
Test(1).A=30
Test(1).B=0,2
Test(2).A=50
Test(2).B=0,3
Test(3).A=100
Test(3).B=0,15
Klarar av det med en endimensionell array men ej med en tvådimensionell
Är det någon som kan hjälpa mig ?
 Sv: Hur sortera en tvådimensionell array
    
    
Byt ut ditt villkor
if array(i) > array(j)
till
if array(i).A > array(j).A
och du får nog göra en något krångligare swap-grej.Sv:Hur sortera en tvådimensionell array
    
    
som du ser så har  Test(2) blivit Test(1) och tvärtom
Test(1).A=50 
Test(1).B=0,3 
Test(2).A=30 
Test(2).B=0,2 
Test(1).A=30 
Test(1).B=0,2 
Test(2).A=50 
Test(2).B=0,3 Sv: Hur sortera en tvådimensionell array
    
    
Hur ser din sorteringsalgoritm ut?Sv:Hur sortera en tvådimensionell array
    
    
Skillnaden är att indexen har bytt plats
Vill ha den variabeln med lägst värde på 'A' till index 0 (Test(0).A)Sv: Hur sortera en tvådimensionell array
    
    
Låt säga att du har en Bubble sort:
dim arr(1 to 10) as integer
'...
for i = 1 to 10
  for j = i to (10-i+1)
    if arr(i) > arr(i+1) then
      tmp = arr(i)
      arr(i) = arr(i+1)
      arr(i+1) = tmp
    end if
  next j
next i
Det enda du behöver göra då är att ändra villkoret 
    if arr(i) > arr(i+1) then
till
    if arr(i).A > arr(i+1).A then
och se till att tmp har rätt typ (alternativt göra hela swappen själv).
    Sv:Hur sortera en tvådimensionell array
    
    
Problemet var att jag även måste flytta med mig värdet för B
Gjorde så här:
dim arr(1 to 10) as integer
'...
for i = 1 to 10
  for j = i to (10-i+1)
    if arr(i).A > arr(i+1).A then
      tmp = arr(i).A
      tmp2=arr(i).B
      arr(i) = arr(i+1)
      arr(i+1).A= tmp
      arr(i+1).B=tmp2
    end if
  next j
next i