Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 27.12.2022
Сообщений: 10

Фильтр списка ListBox через массив

27.12.2022, 10:34. Показов 1995. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хочу написать программу для анализа и фильтрации чисел для лотереи 6 из 45. В ListBox будет база тиражей вида:
8454 _ 40 22 27 29 11 43
8453 _ 10 30 34 38 07 12
8452 _ 13 44 11 09 35 17
8451 _ 01 29 30 18 13 33
8450 _ 29 45 21 44 13 27
8449 _ 08 15 33 45 10 07
8448 _ 09 36 44 20 21 45
8447 _ 03 13 25 28 04 01
8446 _ 31 42 19 32 18 22
8445 _ 01 32 45 02 27 12
8444 _ 27 36 22 15 26 30
номер тиража и шесть выпавших чисел.
Суть такая. Мне нужно найти пары чисел (к примеру 06 35) которые выпадали допусти 1 раз за 50 тиражей. Как я думаю мне нужно сделать двойной массив (типа {01, 02, 03 - 43, 44 45} {01, 02, 03 - 43, 44, 45} и сравнить этот массив со списком в ListBox и те пары, которые подходят по фильтру должны залетать в ListBox2. Изменение условий думаю реализовать через NumericUpDown (изменять количество единиц, пар и троек).
В TextBox будет вписываться количество тиражей за которое нужно проверить. Вопрос в том, как правильно написать сам фильтр массива с ListBox? Смотрел на разных форумах, но именно такой идеи не нашёл. Буду очень признателен за помощь, если напишите реализацию данного фильтра.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.12.2022, 10:34
Ответы с готовыми решениями:

Фильтр пустых значений через ListBox
Доброго времени суток, уважаемые форумчане. Прошу помощи в решении одной задачи. В архиве кусок базы с формой фильтрации записей...

Как через listbox добавить название меню, а через listbox обработчик?
Как известно, в ListBox можно добавлять элементы любого типа. Заполните ListBox несколькими обработчиками событий. Пусть пользователь...

Как заполнить массив через ListBox?
Всем доброй ночи! у меня возник вопрос у меня на форме есть компонент listBox я с помощью его свойства заполнил строками вида ...

24
4709 / 3662 / 857
Регистрация: 02.02.2013
Сообщений: 3,518
Записей в блоге: 2
30.12.2022, 20:13
Студворк — интернет-сервис помощи студентам
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
'Генерация всех k-элементных подмножеств множества {1, …, n}
Dim n As Integer = 45, k As Integer = 3, ii As Integer
Dim a = New Integer(k - 1) {}
For i As Integer = 0 To k - 1
    a(i) = i + 1
Next
Dim p = k
While (p >= 0)
    ii += 1
    Console.WriteLine(ii & " {" & String.Join(",", a) & "}")
    p = If(a(k - 1) = n, p - 1, k - 1)
    If p >= 0 Then
        For i As Integer = k - 1 To p Step -1
            a(i) = a(p) + i - p + 1
        Next
    End If
End While
Console.ReadLine()
Изображения
 
0
4709 / 3662 / 857
Регистрация: 02.02.2013
Сообщений: 3,518
Записей в блоге: 2
30.12.2022, 22:19
С выбором размера подмножества (k={2,3})
Кликните здесь для просмотра всего текста
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
Public Class test
    Private iData As List(Of Integer())
 
    Private Sub test_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Button2.Enabled = False
    End Sub
 
    Private Sub Create_Click(sender As Object, e As EventArgs) Handles Button1.Click
        'моделирование данных
        Dim n As Integer = CInt(TextBox1.Text)
        iData = New List(Of Integer())
        Dim r As New Random()
        For i = 0 To n - 1
            Dim vv As Integer() = Enumerable.Range(1, 45).OrderBy(Function(k) r.Next).Take(6).ToArray()
            Array.Sort(vv)
            iData.Add(vv)
        Next
        Button2.Enabled = True
    End Sub
 
    Private Sub Find_Click(sender As Object, e As EventArgs) Handles Button2.Click
        'подсчет статистики (подмножества размерности {2,3} из всего множества)
        Dim k As Int16 = NumericUpDown1.Value
        Dim int1_45 = (Enumerable.Range(1, 45).ToArray)
        Dim sSet_23 As List(Of Int16()) = fnd_k(int1_45, k)
        Dim dtObj(sSet_23.Count - 1) As Subset_23
        Dim s As String
        For jj = 0 To sSet_23.Count - 1
            If k = 2 Then
                s = sSet_23(jj)(0) & "-" & sSet_23(jj)(1)
            Else
                s = sSet_23(jj)(0) & "-" & sSet_23(jj)(1) & "-" & sSet_23(jj)(2)
            End If
            dtObj(jj) = New Subset_23(s, 0)
        Next
        Dim bb As Boolean
        For i = 0 To iData.Count - 1
            For j = 0 To sSet_23.Count - 1
                If k = 2 Then
                    bb = iData(i).Contains(sSet_23(j)(0)) AndAlso iData(i).Contains(sSet_23(j)(1))
                Else
                    bb = iData(i).Contains(sSet_23(j)(0)) AndAlso iData(i).Contains(sSet_23(j)(1)) AndAlso iData(i).Contains(sSet_23(j)(2))
                End If
                If bb Then
                    dtObj(j).quantity += 1
                End If
            Next
        Next
        Dim sorted = dtObj.OrderBy(Function(ob) -ob.quantity).ToArray()
        DataGridView1.DataSource = sorted
    End Sub
 
    Private Function fnd_k(v2 As Integer(), k As Int16) As List(Of Int16())
        Dim n As Int16 = v2.Length
        Dim ll As New List(Of Int16())
        Dim a = New Int16(k - 1) {}
        For i As Integer = 0 To k - 1
            a(i) = i + 1
        Next
        Dim p As Int16 = k
        While (p >= 0)
            ll.Add(a.Clone)
            p = If(a(k - 1) = n, p - 1, k - 1)
            If p >= 0 Then
                For i As Integer = k - 1 To p Step -1
                    a(i) = a(p) + i - p + 1
                Next
            End If
        End While
        Return ll
    End Function
 
End Class
 
Public Class Subset_23
    Public Sub New(ByVal s As String, ByVal n As Int16)
        _num2 = s
        _quantity = n
    End Sub
 
    Public Property num2 As String
    Public Property quantity As Int16
End Class
Миниатюры
Фильтр списка ListBox через массив  
0
0 / 0 / 0
Регистрация: 27.12.2022
Сообщений: 10
31.12.2022, 04:49  [ТС]
Спасибо за код! Уже намного ближе к теме.

Добавлено через 4 минуты
Желательно бы ещё код, чтобы он ПК искал эту тройку за определённое количество строк в ListBox из обознаеченного массива (01, 02, 03 - 43, 44, 45). Чтобы он прогнал весь этот массив по лист бокс, и скажем нашёл одну пару или одну тройку за выставленное мной число тиражей (за указанное число строк ListBox), скажем за 50 строк.

Добавлено через 1 минуту
неважно какая пара или тройка, главное чтобы она соответствовала условию фильтра.
0
2298 / 1614 / 400
Регистрация: 26.06.2017
Сообщений: 4,780
Записей в блоге: 1
31.12.2022, 13:40
Цитата Сообщение от GPU333 Посмотреть сообщение
Желательно бы ещё
Сам-то чё?
0
0 / 0 / 0
Регистрация: 27.12.2022
Сообщений: 10
31.12.2022, 13:53  [ТС]
Домой приеду буду практиковаться. Здесь на работе времени и Visual Studio нет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.12.2022, 13:53

Как задать фильтр списка в зависимости от другого списка?
Наверняка глупый вопрос но я чайник, Ситуация следующая: имеются связанные таблицы 1. станции (станция, ...) 2. контрагенты...

Общий фильтр для списка и выпадающего списка
Приветствую, есть проблема, я не могу понять как сделать общий фильтр для списка и для выпадающего списка т.е. чтобы после выбора числа...

Как вывести в listbox информацию о потоке, который создал через массив?
Всем добрый день. Такой вопрос. Есть массив потоков; метод, который генерирует очередь FIFO и временным интервалом. Как вывести в listbox...

Фильтр ListBox и DB
Приветствую, читеры и крутые программисты))) Создаю фильтр. На ней так же расположил кнопки BitBtn, Edit, Label и один ListBox,...

Приложение, записывающее данные, введенные с клавиатуры через TextBox в массив, а затем в ListBox
Помогите , по заданию нужно создать приложение WF , которое будет записывать данные введенные с клавиатуры через textbox в массив, а затем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru