В неупорядоченном массиве К(т) есть совпадающие элементы, как их исключить? - VB
Формулировка задачи:
В неупорядоченном массиве К(т) есть совпадающие элементы. Из каждой группы одинаковых элементов оставить только один, удалив остальные и поджав массив к его началу.
Решение задачи: «В неупорядоченном массиве К(т) есть совпадающие элементы, как их исключить?»
textual
Листинг программы
- Option Explicit
- Sub main()
- ReDim a(999) As Variant
- Dim i As Long, j As Long
- For i = 0 To 999
- Select Case Int(Rnd * 3)
- Case 0: a(i) = Int(Rnd * 9)
- Case 1: a(i) = Str(Int(Rnd * 9))
- Case 2: a(i) = CDate(Int(Rnd * 9))
- End Select
- Next i
- For i = 0 To 998
- For j = i + 1 To 999
- If a(i) = a(j) And VarType(a(i)) = VarType(a(j)) Then
- a(j) = Empty
- End If
- Next j
- Next i
- For i = 0 To 999
- If IsEmpty(a(i)) Then
- For j = i + 1 To 999
- If Not IsEmpty(a(j)) Then
- a(i) = a(j)
- a(j) = Empty
- Exit For
- End If
- Next j
- If j > 999 Then Exit For
- End If
- Next i
- ReDim Preserve a(i - 1)
- MsgBox "Сжатый массив:" & vbCrLf & Join(a, vbCrLf)
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д