x
Solved

# Sorting 10 numbers and choosing the best 6

Posted on 2002-03-04
Medium Priority
185 Views
I have table that i created in MS aceess which has marks obtained by a student in 10 Exams, therefore I want a code that can choose the best 6 exams by the student and add their percentage and do the average of those 6 best exams.
0
Question by:Bush21

LVL 2

Accepted Solution

damienm earned 220 total points
ID: 6838650
Private Sub Command1_Click()
Dim a(9) As Integer
Dim b(9) As Integer
Dim ival As Integer
Dim avgTopSix
a(0) = 55
a(1) = 67
a(2) = 29
a(3) = 33
a(4) = 54
a(5) = 62
a(6) = 22
a(7) = 33
a(8) = 43
a(9) = 25

For j = 0 To 9
tmpInt = 0
For i = 0 To 9
If a(i) >= a(ival) Then
ival = i
End If

Next i
b(j) = a(ival)
a(ival) = 0
Next j
For j = 0 To 9
If j < 6 Then
avgTopSix = avgTopSix + b(j)
End If
'MsgBox b(j)
Next j
MsgBox "The average of the top 6 scores is : " & avgTopSix / 6

End Sub
0

LVL 22

Expert Comment

ID: 6839383
This sounds like a homework assignment, so I'll only offer the logic, not the code:

1) Put the grades into an array
2) Sort the tests, highest grade to lowest
3) Pull off the first six array elements and get their sum
4) Display the sum divided by six
0

LVL 1

Expert Comment

ID: 6839630
'this give you the top 6 best note from access table
"select top 6 note from table order by note desc"

and its done
0

Author Comment

ID: 6841210
Thanks man!
0

## Featured Post

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.