Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/58: Рейтинг темы: голосов - 58, средняя оценка - 4.57
14 / 14 / 0
Регистрация: 16.09.2011
Сообщений: 108
1

Поиск в массиве определенного значения

26.01.2012, 14:28. Показов 11314. Ответов 9
Метки нет (Все метки)

При вводе в TextBox1, например буквы "б" не проходит сравнение с масивом zam2. Не могу разобраться


VB.NET
1
2
3
4
5
6
7
8
9
10
Dim textbox As String = TextBox1.Text
        Dim zam() As String
        Dim zam2() As String
        zam = Split("§, ¥, ð, Ð, ñ, £")
        zam2 = Split("а, б, в, г, д, е")
        For i = 0 To 5
            If TextBox1.Text = zam2(i) Then
                TextBox2.Text = zam(i)
            End If
        Next
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.01.2012, 14:28
Ответы с готовыми решениями:

Поиск определенного значения в БД Access.
Мне поставили задачу, нужно написать программу на VB, которая будет производить поиск введенного...

Поиск определенного числа в массиве
В массиве А (20) определенное число случается несколько раз. Что это за число, сколько раз оно...

поиск определенного элемента в массиве
Задан массив, который состоит из n элементов. Найти элемент для которого сумма элементов, что стоят...

Поиск определенного символа в массиве char
Дан массив char. Прошу поведать мне способы поиска или обнаружения определенного символа.

9
_
2360 / 1234 / 78
Регистрация: 28.10.2009
Сообщений: 4,331
26.01.2012, 14:47 2
ZAM88, убери запятые в функции Split
VB.NET
1
2
zam = Split("§ Ґ р Р с Ј")
        zam2 = Split("а б в г д е")
1
14 / 14 / 0
Регистрация: 16.09.2011
Сообщений: 108
26.01.2012, 14:48  [ТС] 3
Ноль имоций, не работает
0
748 / 547 / 48
Регистрация: 17.06.2010
Сообщений: 1,041
Записей в блоге: 1
26.01.2012, 14:50 4
ZAM88, начнем с того, что у тебя весьма оригинальный способ заполнения массива. в итоге в массив попадает
VB.NET
1
2
3
4
zam(0)="§,"
zam(1)="Ґ,"
...
zam(n)="Ј"
Так наверно лучше задавать массив
VB.NET
1
Dim zam() As String = {"§", "Ґ", "р", "Р", "с", "Ј"}
Прогоняешь цикл, даже если совпадение найдено, целесообразно его покидать сразу как нашли совпадение
1
_
2360 / 1234 / 78
Регистрация: 28.10.2009
Сообщений: 4,331
26.01.2012, 14:54 5
или еще проще
VB.NET
1
2
Dim zam As String = "§ҐрРсЈ"
        Dim zam2 As String = "абвгде"
строка - сама уже по себе массив символов
1
14 / 14 / 0
Регистрация: 16.09.2011
Сообщений: 108
26.01.2012, 15:39  [ТС] 6
Спасибо всем за внимание!!!))) Помогло

VB.NET
1
2
3
4
5
6
7
Dim zam As String = "§®±«©ش"
        Dim zam2 As String = "абвгде"
        For i = 0 To 5
            If TextBox1.Text = zam2(i) Then
                TextBox2.Text = zam(i)
            End If
        Next
0
1689 / 1178 / 226
Регистрация: 23.12.2010
Сообщений: 1,515
26.01.2012, 17:21 7
Вставлю 5 копеек: у массивов есть метод Find и другие аналогичные. Смотрим System.Array. Может это поможет избавиться от циклов? Кроме того этот класс содержит много аналогичных методов (начинаются все с Find)
1
14 / 14 / 0
Регистрация: 16.09.2011
Сообщений: 108
26.01.2012, 18:59  [ТС] 8
Юпатов Дмитрий можно пример (я лузер) с функцией FIND
0
1689 / 1178 / 226
Регистрация: 23.12.2010
Сообщений: 1,515
26.01.2012, 20:21 9
Лучший ответ Сообщение было отмечено как решение

Решение

На форме: Button1, TextBox1, TextBox2
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim zam() As String = {1, 2, 3, 4, 5, 6, 7}
        Dim zam2() As String = {"a", "b", "c", "d", "e"}
        Dim i As Integer = Array.FindIndex(zam2, AddressOf check_element)
        Select Case i
            Case Is < 0
                Me.TextBox2.Text = "Не нашлось"
            Case Else
                Me.TextBox2.Text = zam.GetValue(i)
        End Select
    End Sub
 
    Private Function check_element(ByVal str As String) As Boolean
        Dim result As Boolean = False
        If str.Equals(Me.TextBox1.Text) Then result = True
        Return result
    End Function
При совпадении символа в TextBox1 с элементом массива zam2 в TextBox2 выводится элемент массива zam с индексом, равным индексу совпавшего элемента в массиве zam2. Если совпадений не нашлось, i примет значение -1 и в TextBox2 передается строка "Не нашлось"
5
4 / 4 / 2
Регистрация: 04.05.2013
Сообщений: 54
16.05.2013, 13:24 10
Подскажите решение:

Необходимо в массиве выбрать повторяющиеся значения и узнать их индексы, написал такой код, через двойной цикл:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Dim Mass(A.Text - 1) As Integer
Dim Mass2(A.Text - 1) As Integer ' хранит нумерацию (1, 2, 3, ...)
 
For a=1 To A.Text ' Заполнение Mass2 нумерацией (1, 2, 3...)
Mass2(a-1)= a
Next
 
For w = 0 To A.Text - 1
    For v = 0 To A.Text - 1
       If w <> v AndAlso Mass(w) = Mass(v) Then
       B.Text = Mass2(w) & "и" Mass2(v) 
       End If
    Next
Next
Правильно ли так? Или можно как то короче записать этот код, без перебора?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.05.2013, 13:24

Поиск определенного объекта в массиве объектов
Есть массив объектов, надо по полю объекта найти этот объект. Какой метод использовать? (Например,...

Поиск определенного значения в строке
Есть Edit1-&gt;text = &quot;wwwwwwwwwwdddddddlife765420194ttttttdddddqqqqqq&quot; Нужно в Edit2 скопировать 9...

Поставить ноль после каждого определенного значения в массиве
доброго времени суток, друзья! у меня к вам есть просьба, объясните не разумному человеку как...

Поиск по значению в массиве и вывод определенного элемента в textbox
Доброго дня и ночи! возник вопрос, есть текстовый файл, в нем через |записаны фамилия, должность,...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru