Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

sorting arrays

Status
Not open for further replies.

vb6ramirez

Computer
Jun 30, 2008
1
0
0
PR
HI, I TRY THIS SORT, SEE THE OUTPUT AT END
THE RECORD #15 AND 16 NOT IN ORDER, THANKS FOR YOUR HELP


200103=caso1
01167=falta1
"A" or "I"=status1

For Loop1 = 0 To total
pos = Loop1
For loop2 = Loop1 + 1 To total
If caso1(loop2) = caso1(pos) And status1(loop2) < status1(pos) Then
pos = loop2
End If
Next loop2
If pos <> Loop1 Then
Tmp = caso1(pos)
caso1(pos) = caso1(Loop1)
caso1(Loop1) = Tmp

Tmp = falta1(pos)
falta1(pos) = falta1(Loop1)
falta1(Loop1) = Tmp

Tmp = nombre1(pos)
nombre1(pos) = nombre1(Loop1)
nombre1(Loop1) = Tmp


Tmp = status1(pos)
status1(pos) = status1(Loop1)
status1(Loop1) = Tmp

End If
Next Loop1

THIS IS THE INPUT

20010301167,ROBERTO ADAMES,A
20010301337,MAXIMINO MENDEZ,A
20010301509,CARLOS RIOS,A
20010302143,FLORENCIA MORALES,I
20010302242,ISRAEL ROMAN,A
20010302471,LUIS BARRETO,A
20010302948,AWILDA CUBERO ,I
20010303205,CONSORCIA HERNANDEZ ,A
20010303277,HECTOR NIEVES,A
20010303919,EMILIO MORALES ,A
20010304085,CARLOS NIEVES ,A
20010304441,LUIS IGARTUA,A
20010305264,LUIS GIRAUD ,A
20010305326,TRINIDAD RIVERA ,A
20010320014,JOSE MARTINEZ,A
20010320056,ANTONIO OCASIO,A
20010320083,ANTONIO PEREZ,I


THIS IS THE OUTPUT

20010301167 ROBERTO PADIN ADAMES A
20010301337 MAXIMINO CRUZ MENDEZ A
20010301509 CARLOS SOTOMAYOR RIOS A
20010302242 ISRAEL PEREZ ROMAN A
20010302471 LUIS PEREZ BARRETO A
20010303205 CONSORCIA DEL VALLE HERNANDEZ A
20010303277 HECTOR NIEVES NIEVES A
20010303919 EMILIO MORALES VELEZ A
20010304085 CARLOS ROSARIO NIEVES A
20010304441 LUIS SOTOMAYOR IGARTUA A
20010305264 LUIS ORTIZ GIRAUD A
20010305326 TRINIDAD LOPEZ RIVERA A
20010320014 JOSE GONZALEZ MARTINEZ A
20010320056 ANTONIO RIVERA OCASIO A
20010302948 AWILDA RESPETO CUBERO I
20010302143 FLORENCIA PEREZ MORALES I
20010320083 ANTONIO VILLANUEVA PEREZ I
 
For selection sort, the first loop should only go to 1 before the end. It shouldn't go right to the end otherwise the second loop will cause an array out of bounds
Code:
For Loop1 = 0 To total-1
 
Status
Not open for further replies.
Back
Top