Получить все уникальные значения массива - VB

Узнай цену своей работы

Формулировка задачи:

Есть таблица 4х4, в ней 16 значений, из них от 2 до 8 уникальны, а остальные дублируют эти значения. Я пытаюсь вывести эти уникальные значения в текстовое поле, но что-то у меня не получается т.к. я проболел тему массивов Посмотрите, пожалуйста, и скажите, что я делаю не так.
Извините если это покажется слишком просто/смешно, но я действительно не понимаю массивы с выводом разобрался, нужно было просто переименовать переменную
но теперь в текстовом поле не выводит первое значение, а вместо него идут 3 подряд повторяющихся значения а 2
а так всё работает, но мне нужно чтобы значения сами выстраивались один за одним, а не я указывал им место.. Вобщем, я понял в чём проблема, но до меня не доходит как её решить Весь массив забивается последним значением, стирая предыдущие, а как это исправить я не знаю..

Решение задачи: «Получить все уникальные значения массива»

textual
Листинг программы
Option Explicit
Private Sub Комманда1_Click()
Dim M(3, 3) 'массив
Dim S()
Dim R, C ' переменные циклов
Cls ' чистим форму
  Dim Dict As Object
  Set Dict = CreateObject("Scripting.Dictionary")
Randomize 'инициализируем генератор сл. чисел
With Dict
For R = 0 To 3 'gо всем строкам
     For C = 0 To 3 'по всем столбцам
     M(R, C) = Int(9 * Rnd) 'назначаем случайные от 0 до 8
      Print M(R, C);
        If .Exists(M(R, C)) Then
           .Item(M(R, C)) = .Item(M(R, C)) + 1
        Else
           .Add M(R, C), 1
        End If
    Next C
    Print ' печатаем на форму
Next R
End With
Print
Print "Количество повторений"
S = Dict.keys
For R = 0 To UBound(S)
    If Dict.Item(S(R)) <> 0 Then Print S(R) & " встретилась " & Dict.Item(S(R))
Next R
End Sub

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


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

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

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