ThomasaMedlem sedan aug. 2002365 inlägg
finns säkert sen tidigare men jag lyckas ändå inte hitta när jag söker..
jag har en array som ska innehålla ett värde med en distans och ett med ett id.
sparar dem nu genom att separera distansen och idt med :, jag har sedan en funktion som sorterar (som jag hittade här ;))
Den fungerar fin när jag bara sorterar distansen och inte tar med id:t i arrayen, så frågan är: Hur kan jag sortera distanserna och behålla id:t intill?
har helt hjärnsläpp :/
Function SortArray(arvektor)
Dim i,j, temp
for i = 0 to ubound(arvektor)
for j = 1 to ubound(arvektor)
if arVektor(i) < arVektor(j) then
temp = arVektor(i)
arVektor(i) = arVektor(j)
arVektor(j) = temp
end if
next
next
End Function
LarsGMedlem sedan dec. 200012 465 inlägg
Du borde använda en två-dimensionell array istället.
Dim v(22,1)
v(0,0) = distans
v(0,1) = id
...
SortArrray v
Sub SortArray(arvektor)
Dim i,j, temp
for i = 0 to ubound(arvektor)
for j = 1 to ubound(arvektor)
if arVektor(i,0) < arVektor(j,0) then
temp = arVektor(i,0)
arVektor(i,0) = arVektor(j,0)
arVektor(j,0) = temp
end if
next
next
End Sub
ThomasaMedlem sedan aug. 2002365 inlägg
Tack Lars, två-dimensionell array var en bra idé men den sorterar inte med subrutinen du skrivit, utan tar bort id:t istället, vad kan vara galet?
ThomasaMedlem sedan aug. 2002365 inlägg
http://www.4guysfromrolla.com/webtech/011601-1.shtml
Där finns svaret på en fungerande sorteringsfunktion för 2 dimensionella arrayer om någon annan får samma problem!
Erik JuhlinMedlem sedan maj 20007 625 inlägg
Gamla hederliga bubble-sort... :OO
LarsGMedlem sedan dec. 200012 465 inlägg
Det som var galet var att jag glömde att även flytta det andra elementet i arrayen.
Sub SortArray(arvektor)
Dim i,j, temp
for i = 0 to ubound(arvektor)
for j = 1 to ubound(arvektor)
if arVektor(i,0) < arVektor(j,0) then
temp = arVektor(i,0)
arVektor(i,0) = arVektor(j,0)
arVektor(j,0) = temp
temp = arVektor(i,1)
arVektor(i,0) = arVektor(j,1)
arVektor(j,1) = temp
end if
next
next
End Sub
ThomasaMedlem sedan aug. 2002365 inlägg
ja då var ju din enklare :) nu löste de sig men tack så mycket iaf!!