|
|
|
Найти второе наибольшее значение
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, помогите, пожалуйста, найти втрое наибольшее значение в listbox. Private Function vtoroe (List1 As ListBox) As Integer Dim max1 As Integer, max2 As Integer, J As Integer, i As Integer max1 = 0 max2 = 0 For i = 0 To List1.ListCount - 1 J = List1.List(i) If J >= max1 Then max2 = max1 max1 = J ElseIf J >= max2 Then max2 = J End If Next i vtoroe = max2 End Function Если пишу так, то в случае если в listbox есть 2 одинаковых наибольших значения, то его и выдает. То есть, например, 45 45 33 22 11 . Выдает 45??? Как сделать чтобы было 33???? Большое спасибо заранее за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2007, 21:41 |
|
||
|
Найти второе наибольшее значение
|
|||
|---|---|---|---|
|
#18+
Замени больше или равно (>=) на болше (>) ----------- Андрей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2007, 09:07 |
|
||
|
Найти второе наибольшее значение
|
|||
|---|---|---|---|
|
#18+
не работает(((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2007, 14:05 |
|
||
|
Найти второе наибольшее значение
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. I Have Nine Lives You Have One Only THINK! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2007, 14:49 |
|
||
|
Найти второе наибольшее значение
|
|||
|---|---|---|---|
|
#18+
Если лист бокс сортирован (Sorted = True), то так: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2007, 17:52 |
|
||
|
Найти второе наибольшее значение
|
|||
|---|---|---|---|
|
#18+
а если нет??? что то все равно не получается( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2007, 21:38 |
|
||
|
Найти второе наибольшее значение
|
|||
|---|---|---|---|
|
#18+
А если нет, то тогда пользуйтесь кодом от HandKot. Чем он плох? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2007, 23:43 |
|
||
|
Найти второе наибольшее значение
|
|||
|---|---|---|---|
|
#18+
Там только аргумент не нужен. Уберите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2007, 23:47 |
|
||
|
Найти второе наибольшее значение
|
|||
|---|---|---|---|
|
#18+
может я что то не так делаю, но у меня этот код не работает(((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2007, 01:05 |
|
||
|
Найти второе наибольшее значение
|
|||
|---|---|---|---|
|
#18+
пробовали трассировать, почему не работает? что выдает при вашем наборе? I Have Nine Lives You Have One Only THINK! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2007, 09:41 |
|
||
|
Найти второе наибольшее значение
|
|||
|---|---|---|---|
|
#18+
Работает , на половину) Когда лист: 1,2, 3, 4, 5, , то находит. а когда 5, 4,3, 2, 1 , то выдает 0. (((((((((((((( что такое трассировать, к сожалению, не знаю( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2007, 13:29 |
|
||
|
Найти второе наибольшее значение
|
|||
|---|---|---|---|
|
#18+
Поменяй строку For i = 0 To List1.ListCount - 1 на For i = LBound(List1) To UBound(List1 ----------- Андрей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2007, 13:34 |
|
||
|
Найти второе наибольшее значение
|
|||
|---|---|---|---|
|
#18+
разобрался вот код, порверяйте Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. THINK! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2007, 16:11 |
|
||
|
Найти второе наибольшее значение
|
|||
|---|---|---|---|
|
#18+
Спасибо огромное)))) Все работает)))) когда-нибудь, я тоже научусь)))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2007, 18:37 |
|
||
|
Найти второе наибольшее значение
|
|||
|---|---|---|---|
|
#18+
Нормально, только я бы не стал называть аргумент функции именем конкретного лист бокса, а иначе его вообще можно не передавать как аргумент (List1 - имя контроля по умолчанию, что ввергает в раздумья). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2007, 18:39 |
|
||
|
Найти второе наибольшее значение
|
|||
|---|---|---|---|
|
#18+
Можно вообще обойтись без циклов, поставив невидимый сортированный лист бох и поддерживая его синхронно с видимым несортированным. Потом - то, что я уже показывал. Не знаю, насколько это красиво. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2007, 21:16 |
|
||
|
Найти второе наибольшее значение
|
|||
|---|---|---|---|
|
#18+
Вот вариант "без циклов". Подсоедините АДО. Тут есть цикл, но исключительно для загрузки записи и листа случайными данными. Само нахождение второго максимума - безцикловое. В форме: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. Нажмите на кнопку, и высветится второй максимум. Решение подсказано программистом SBerthold. Успехов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 19:06 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=34983660&tid=2162977]: |
0ms |
get settings: |
4ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
34ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 314ms |

| 0 / 0 |
