0 / 0 / 0
Регистрация: 01.10.2015
Сообщений: 5
1

Обращение к случайному элементу одномерного массива

01.10.2015, 11:19. Показов 1096. Ответов 6
Метки нет (Все метки)

Приветствую!

Как в VB обратиться к случайному элементу одномерного строкового массива из 10 значений?

Читал про функцию Randomize, но не получилось ее заюзать. Студио ругается на ошибки.

Либо получается надо вводить переменную размером от 1 до 10, генерировать функцией ей случайное значение и уже по этому значению обращаться к массиву?

Как правильнее? И какой синтаксис будет верен?
Спасибо!
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.10.2015, 11:19
Ответы с готовыми решениями:

Обращение к элементу по имени
Здравствуйте. Помогите пожалуйста понять причину ошибки. При обращении к элементу управления по...

Обращение к элементу управления на другой форме
Добрый день! Есть две формы. В первой форме выпадающий список КомбоБокс. Во второй форме 3 поля...

Обращение к элементу по имени, часть которого - счетчик, вызывает ошибку
Привет народ, что-то не могу понять, почему не работает эта часть кода Controls("Label" & x).Width...

Обращение к элементу WebBrowser и ошибка "NullReferenceExeption не обработно"
Всем привет! Очень часто видела ошибку "Nullreferenceexeption не обработано". Ссылка на объект не...

6
393 / 312 / 53
Регистрация: 14.08.2014
Сообщений: 1,010
01.10.2015, 11:51 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

adept7771, например так:

VB.NET
1
2
3
4
5
6
7
8
   Dim arr() As String = New String() {"Слово1", "Слово2", "Слово3", "Слово4", "Слово5", "Слово6", "Слово7", "Слово8", "Слово9", "Слово10"}
 
    Dim rnd As New Random
    Private Sub Button11_Click_1(sender As Object, e As EventArgs) Handles Button11.Click
        'RichTextBox3.Text = "" 'Если нужно выводить только одно слово
        RichTextBox3.AppendText(arr(rnd.Next(arr.Length)))
        RichTextBox3.AppendText(Environment.NewLine)
    End Sub
2
0 / 0 / 0
Регистрация: 01.10.2015
Сообщений: 5
01.10.2015, 12:05  [ТС] 3
Я сделал так


VB.NET
1
2
3
4
Dim X As Single ' указатель фразы
        Randomize()
        X = Int(10 * Rnd())
        Label_Resulttext.Text = arrBase(X)
Подглядел в тырнетах. Только вот что значит Int впереди скобок. Integer? Десятка я так понял методом тыка, это максимальное граничное значение.
0
393 / 312 / 53
Регистрация: 14.08.2014
Сообщений: 1,010
01.10.2015, 12:32 4
Цитата Сообщение от adept7771 Посмотреть сообщение
Только вот что значит Int впереди скобок. Integer?
Да.

Цитата Сообщение от adept7771 Посмотреть сообщение
Десятка я так понял методом тыка, это максимальное граничное значение.
Да, это верхняя граница диапазона.
1
0 / 0 / 0
Регистрация: 01.10.2015
Сообщений: 5
01.10.2015, 13:15  [ТС] 5
Большое спасибо за разъяснения!
0
COM‐пропагандист
754 / 656 / 135
Регистрация: 18.12.2014
Сообщений: 1,827
Записей в блоге: 4
01.10.2015, 21:53 6
Лучший ответ Сообщение было отмечено adept7771 как решение

Решение

adept7771, не делайте так больше. Этот код устаревший, достался в наследство от VB6 и живёт в библиотеке совместимости. В любой момент он может перестать работать в новой версии.
VB.NET
1
2
3
4
Dim X As Integer ' указатель фразы
Dim objRandom As New Random
X = objRandom.Next(10)
Label_Resulttext.Text = arrBase(X)
Для генерации случайных чисел есть специальный класс Random.
1
0 / 0 / 0
Регистрация: 01.10.2015
Сообщений: 5
02.10.2015, 09:51  [ТС] 7
Даже и не знал, что и такое бывает в VB.
Спасибо! Запишу в свой блокнотик ваш вариант, как эталонный
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.10.2015, 09:51
Помогаю со студенческими работами здесь

Присвоение значения случайному элементу массива
Всем привет. Такой вопрос. Вот есть у меня массив, скажем, A, состоящий из десяти элементов....

Что быстрее? Обращение к элементу массива или к элементу структуры?
Обращение к элементу массива или к элементу структуры? Экспериментирую с кодом и получается...

Обращение к элементу массива
Как мне обратиться к последнему элементу массива? например: Array // i = 0 тут нужно что бы -1...

Обращение к элементу массива
Объясните пожалуйста, что происходит в строке помеченной *** void main(){ char str; char...


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

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

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