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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5
Похожие ответы