Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 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)
    ;Dim Array As New List (Of Integer)
    ;Dim 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
        ;Dim y As Integer = 100
        ;Dim x() As Integer
        ;Dim 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
Пробовал сделать
 ;Dim dictionary As New Dictionary(Of String, Integer)
    dictionary.Add(x, y)
    ;Dim 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
Попробовал вот так, лабуда какая то
 ;Dim dictionary As New Dictionary(Of String, Integer)
    ;Dim i As Integer
    For i = 0 To y
      dictionary.Add(i, x)
      ;Dim 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. Заполняешь его парами ключ-значение. Делатеся это так
  1. MyDictionary(Key) = Value

3. При необходимости считываешь значение по ключу
  1. Value = MyDictionary(Key)

Дополнительно нужны проверки на то чтоб ключ присутствовал в словаре, иначе будет исключение при попытке запросить несуществующий ключ.

Ответить

Номер ответа: 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 меняется, но предыдущие его значения остаются. Наверное нужно какая то доп процедура, или реакция на событие.. Никак не могу найти кусочек похожего кода в сети.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам