J jimpa Medlem sedan jan. 2001 361 inlägg Trådstart 22 nov. 2005 17:19 #1 Hej,
Jag en massa värden i en array som jag vill kunna sortera innan jag skriver ut dom. Det ser ut ungefär så här:
1,H,45
550,H,45
4,H,45
35,V,45
3,V,45
Men vill ha det sorterat så här:
1,H,45
3,V,45
4,H,45
35,V,45
550,H,45
Jag har sökt i forumet men har inte hittat något svar som hjälpt mig till fullo!
Någon som vet?
Mvh,
Jimmy
E emission Medlem sedan dec. 1999 6 721 inlägg Det måste du lösa med någon slags bubble sort.
for i = ubound(minarray) - 1 To 0 Step -1
for j= 0 to i
arr1=split(minarray(j),",")
arr2=split(minarray(j+1),",")
if cint(arr1(0))>cint(arr2(0)) then
temp=minarray(j+1)
minarray(j+1)=minarray(j)
minarray(j)=temp
end if
next
next
J jimpa Medlem sedan jan. 2001 361 inlägg Jag provade din kod men jag fick tyvärr ett felmeddelande:
Microsoft VBScript runtime error '800a0009'
Subscript out of range: '[number: 0]'
/test/test.asp, line 25
Rad 25 ser ut så här:
if cint(arr1(0))\>cint(arr2(0)) then
Mvh
@nders Medlem sedan juni 2000 32 967 inlägg Hur har du skapat din array?
J jimpa Medlem sedan jan. 2001 361 inlägg Jag har provat så här:
myGrid = "2,H,2;15,H,2;1,H,3;4,H,2;11,H,1;3,H,3;13,H,4;10,H,1;5,H,1;6,H,4;7,H,1;"
myGrid = split(myGrid, ";")
minarray = myGrid
Mvh
E emission Medlem sedan dec. 1999 6 721 inlägg Ta bort det sista semikolonet
J jimpa Medlem sedan jan. 2001 361 inlägg Tusen tack! Nu verkar det funka perfekt