Вопрос сортировки массива

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
A
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 16.08.2003 (Сб) 11:29

Вопрос сортировки массива

Сообщение A » 16.08.2003 (Сб) 11:44

Здравствуйте, вот вопрос:
Имеется Массив
Dim Arr(4) integer
он состоит из 5 рандомальных чисел,
требуется перенести в новый Массив
Dim List(4) as integer
номера индексов массива Arr так что бы значение которые представляют номера возрастали.
Пример:
Значение Arr : 5,9,4,6,8
Новый массив List должен быть : 2,0,3,4,1
Это вроде не сложно но я не знаю как решить,
может кто поможет?

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 16.08.2003 (Сб) 23:33

Я б закрыл.... :roll:
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 18.08.2003 (Пн) 10:17

То, что ты хочешь, в базе данных называется "индексы"
Примерно так:
Код: Выделить всё
' сортировка методом пузырька
Sub SortIndex(Array() As Integer, Index() As Integer)
Dim C As Long, I As Long, LB As Long, UB As Long
Dim Min As Integer,Max As Integer
LB = LBound(Array)
UB = UBound(Array)
ReDim Index(LB To UB)
N = Fix((UB - LB + 1) / 2)
For C = 0 To N-1
  Min = LB + C
  Max = LB + C
  For I = LB+C To UB-C
    If Array(I) < Array(Min) Then Min = I
    If Array(I) > Array(Max) Then Max = I
  Next I
  If Min = Max Then Max = UB - C
  Index(LB+C) = Min
  Index(UB-C) = Max
Next C
End Sub


P.S. Код не проверял, может какие-то опечатки и будут, но принцип верный.
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 4

    TopList