Получить все уникальные значения массива - 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