В неупорядоченном массиве К(т) есть совпадающие элементы, как их исключить? - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д