Страница: 1 |
Страница: 1 |
Вопрос: Массив (список). Как построить соответствие двух
Добавлено: 13.07.10 19:55
Автор вопроса: Юрий
Массив (список). Как построить соответствие двух чисел. Имеется массив например от 0 до 100. (В общем случае верхний предел переменный)
Каждому числу из этого массива ставится в соответствие некое число, заданное определённой функцией, например рандомно от 4 до 9. Входные данные этой функции - этот же самый массив от 0 до 100).
Задача - построить массив вида (0;1)
(1;6)
(2;4)
(n;m)
(100;6)
Вопрос - какую функцию надо использовать, что бы динамически считывать числа и помещать их в левый ряд столбца, в соответсвии с числами массива от 0 до n?
Буду признателен за помощь ))
Ответы
Всего ответов: 13
Номер ответа: 1
Автор ответа:
Юрий
Вопросов: 3
Ответов: 30
Профиль | | #1
Добавлено: 13.07.10 20:07
Private Sub RunScript(ByVal x As Integer, ByRef A As Object)
 im Array As New List (Of Integer)
 im i As Integer
For i = 0 To x
Array.Add(i)
A = array(i)
А - числа которые нужно сохранить в список при каждом изменении i
Номер ответа: 2
Автор ответа:
Юрий
Вопросов: 3
Ответов: 30
Профиль | | #2
Добавлено: 13.07.10 20:08
Причем тут смайлы я не понял ))
Номер ответа: 3
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #3
Добавлено: 14.07.10 02:27
В .NET Object не нужно использовать для передачи массивов, вместо него Integer(,) (для двухмерного).
По коду вообще ничего не понятно, похоже на какой-то бред.
Если тебе нужно задать соответствие ключ-значение, то используется класс Dictionary (Of Integer, Integer), в него загружаешь свои пары, потом можешь вытянуть значение, соответствующее определенному ключу. Использовать и проще чем массив, и работать будет быстрее.
Номер ответа: 4
Автор ответа:
Юрий
Вопросов: 3
Ответов: 30
Профиль | | #4
Добавлено: 14.07.10 11:43
Хорошо, а как сделать что бы числа поступающие на выходе из функции, как 5,4,9,8,4,5 организовывались в список?
Смысл кода в том что x={x}, если убрать (i) при Array(i), и x=x если не убирать. Так вот, я просто хотел показать что бы все значения A которые меняются не затирались друг другом, а записывались в список.
Извините за корявое пояснение, я нуб просто.
Номер ответа: 5
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #5
Добавлено: 15.07.10 02:01
Объяснение действительно корявое и ничего не понятно.
Впрочем то что код бредовый это факт на котором я продолжу настаивать
Номер ответа: 6
Автор ответа:
Юрий
Вопросов: 3
Ответов: 30
Профиль | | #6
Добавлено: 20.07.10 14:37
Фиг с ним с кодом, есть переменная х, она принимает значения. Как сделать список из всех значений х?
Допустим массив с 100 индексами.
Задается массив х
Каждому значению I вводится значение переменной х
Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
 im y As Integer = 100
 im x() As Integer
 im summa, i As Integer
For i = 1 To y
x(i) = InputBox(i) ‘но у меня х потоковая величина, я не хочу вводить значение каждый раз, как мне сделать что бы все значения которые принимает х сохранялись в столбец со 100 индексами? Какие есть функции еще кроме inputbox?
Next
End Sub
Номер ответа: 7
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #7
Добавлено: 20.07.10 15:39
Если тебе нужна связь ключ-значение, то внимательно читай что я писал в 3 сообщении.
Что значит "потоковая величина"?
Номер ответа: 8
Автор ответа:
Юрий
Вопросов: 3
Ответов: 30
Профиль | | #8
Добавлено: 20.07.10 16:12
Пробовал сделать
 im dictionary As New Dictionary(Of String, Integer)
dictionary.Add(x, y)
 im pair As KeyValuePair(Of String, Integer)
For Each pair In dictionary
' Display Key and Value.
Print("{0}, {1}", pair.Key, pair.Value)
Next
Но на выходе у меня получается лишь одна пара, а мне надо все возможные пары.((
Вот здесь есть рисунок как мне хотелось бы http://api.ning.com/files/vqP1AhJYPLh4mJqWXFHsAQW-5gzqWCKoO9rH7EhE5xQj5IpGeKFci1n8XUKZg5h84cszqxnJwdQGRVhtfMyCpw16CXVmmcxelaDD8EvuwsM_/HowMake.jpg
Спасибо большое за ответы ))
Номер ответа: 9
Автор ответа:
Юрий
Вопросов: 3
Ответов: 30
Профиль | | #9
Добавлено: 20.07.10 16:39
Попробовал вот так, лабуда какая то
 im dictionary As New Dictionary(Of String, Integer)
 im i As Integer
For i = 0 To y
dictionary.Add(i, x)
 im pair As KeyValuePair(Of String, Integer)
For Each pair In dictionary
' Display Key and Value.
Print("{0}, {1}", pair.Key, pair.Value)
Next
Next
Номер ответа: 10
Автор ответа:
Юрий
Вопросов: 3
Ответов: 30
Профиль | | #10
Добавлено: 21.07.10 15:13
Потоковое значение - значение получаемое из скроллбара. Как сохранить все значения переменной из скроллбара в список? Так наверное правильнее будет сформулировано.
Номер ответа: 11
Автор ответа:
Юрий
Вопросов: 3
Ответов: 30
Профиль | | #11
Добавлено: 21.07.10 15:27
Вобщем ползунок - слайдер, его двигаешь, меняются значения. Их нужно сохранить ))
Номер ответа: 12
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #12
Добавлено: 22.07.10 02:06
Ну если писать лабуду, не нужно удивляться тому что лабуда получается.
1. Создашеь один Dictionary глобальный. Кстати, зачем ты сделал (Of String, Integer)? Из твоего объяснения выходит что у тебя и ключ и значение - Integer.
2. Заполняешь его парами ключ-значение. Делатеся это так
3. При необходимости считываешь значение по ключу
Дополнительно нужны проверки на то чтоб ключ присутствовал в словаре, иначе будет исключение при попытке запросить несуществующий ключ.
Номер ответа: 13
Автор ответа:
Юрий
Вопросов: 3
Ответов: 30
Профиль | | #13
Добавлено: 22.07.10 11:34
Есть слайдер - ползунок. В нем даны значения от 0 до 10. Эти значения передаются в функцию, которая каждому значению слайдера дает одно число.
Вопрос, как сделать что бы каждое значение функции сохранилось в список?
Событие(слайдер)(y1....yn) - > Число(x1....xm) - > Запись x1
........
Запись xm
Задачу можно представить так, когда пишем x(i) = n слева в теле процедуры, я не хочу каждый раз присваивать (вводить число n) "вручную"
Мне нужно что бы эта переменная менялась когда я двигаю слайдер. Но, когда значение n меняется на m, значение n затирается в ячейке памяти, так? Мне надо что бы
x меняется, но предыдущие его значения остаются. Наверное нужно какая то доп процедура, или реакция на событие.. Никак не могу найти кусочек похожего кода в сети.