Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/146: Рейтинг темы: голосов - 146, средняя оценка - 4.52
 Аватар для Me_lisa
0 / 0 / 0
Регистрация: 17.05.2012
Сообщений: 15

Как правильно организовать заполнение массива

27.05.2012, 22:25. Показов 29008. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хочу создать и заполнить массив. Вот на такой код ругается:
Visual Basic
1
2
Dim a_RightAns (2 To 11) As Integer
a_RightAns = Array(1, 0, 2, 2, 0, 3, 3, 2, 4, 0)
Придется вручную заполнять или как-то можно проще это сделать?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.05.2012, 22:25
Ответы с готовыми решениями:

Как правильно организовать работу скриптов?
Скажу сразу скрипты уже написаны, хотя в VBA я дуб дубом в отличии от VB6 поэтому возник вопрос. Вопрос про VBA для Word 2003. Решил...

Как правильно организовать введение большого количества Hiperlinks
Есть такая проблема. У меня есть folder (электронная библиотека книг, статей и т.д.) порядка 7 тысяч файлов. Название этих файлов хочу...

Как правильно организовать считывание и вывод вещественного массива в си?
Не получается оформить правильное считывание и вывод вещественных чисел в си, на плюсе работате, какой оператор должен быть у printf? ...

9
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
28.05.2012, 00:19
Вы его уже заполнили вручную этим a_RightAns = Array(1, 0, 2, 2, 0, 3, 3, 2, 4, 0)
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18030 / 7733 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
28.05.2012, 00:40
Функция Array заполняет массив всегда с 0 (или с 1 если задан Option Explicit 1).
При этом массив должен быть обязательно динамическим типа Variant:
Visual Basic
1
2
Dim a_RightAns()
a_RightAns = Array(1, 0, 2, 2, 0, 3, 3, 2, 4, 0)
Т.е., чтобы заполнить его так как Вам нужно именно со 2-го элемента можно в некоторых случаях выкрутиться так:
Visual Basic
1
2
Dim a_RightAns()
a_RightAns = Array(0,0,1, 0, 2, 2, 0, 3, 3, 2, 4, 0)
или придеться вручную задавать каждому отдельному элементу.
1
призрак
 Аватар для ikki
3266 / 894 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
28.05.2012, 07:22
как вариант:

Visual Basic
1
2
3
4
Dim a_RightAns (2 To 11) As Integer, i As Integer
for i=2 to 11
    a_RightAns(i) = Array(1, 0, 2, 2, 0, 3, 3, 2, 4, 0)(i-2)
next
2
 Аватар для Апострофф
9908 / 3919 / 742
Регистрация: 11.10.2011
Сообщений: 5,902
28.05.2012, 07:49
Цитата Сообщение от Diskretor Посмотреть сообщение
Option Explicit 1
О_о. Наверно
Visual Basic
1
Option Base 1
имелось ввиду?
1
 Аватар для Me_lisa
0 / 0 / 0
Регистрация: 17.05.2012
Сообщений: 15
28.05.2012, 20:14  [ТС]
ikki_cf, спасибо, работает. Я только не совсем поняла, как это работает. Что именно мы присваиваем i-му элементу?
0
призрак
 Аватар для ikki
3266 / 894 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
28.05.2012, 20:28
Цитата Сообщение от Me_lisa Посмотреть сообщение
Что именно мы присваиваем i-му элементу?
(i-2)-й элемент массива, созданного с помощью Array()

наверное, вот так нагляднее:
Visual Basic
1
2
3
4
5
6
Dim a_RightAns (2 To 11) As Integer, i As Integer, aTemp()
aTemp=Array(1, 0, 2, 2, 0, 3, 3, 2, 4, 0)
for i=2 to 11
    a_RightAns(i) = aTemp(i-2)
next
erase aTemp
1
 Аватар для Me_lisa
0 / 0 / 0
Регистрация: 17.05.2012
Сообщений: 15
29.05.2012, 11:11  [ТС]
Да, спасибо, поняла!
0
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
01.06.2012, 17:26
Лучший ответ Сообщение было отмечено как решение

Решение

Да, именно массив.
Прежде всего - откуда берется коллекция? Может, формировать массив вместо коллекции? Или использовать не коллекцию, а словарь: его свойства .keys и .items являются массивами, к которым можно применить Join.
А вообще так:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Sub dd()
Dim mass As New Collection, arr(), i&
'çàïîëíåíèå êîëëåêöèè
    mass.Add 4
    mass.Add "êîëåñà"
'êîíåö çàïîëíåíèÿ
ReDim arr(1 To mass.Count)
For i = 1 To mass.Count
    arr(i) = mass(i)
Next
Debug.Print join(arr)
End Sub
1
0 / 0 / 0
Регистрация: 01.06.2012
Сообщений: 11
01.06.2012, 20:12
Казанский, спасибо большое!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.06.2012, 20:12
Помогаю со студенческими работами здесь

Как правильно реализовать заполнение двумерного массива элементами
Здравствуйте! Имеется проблема такого рода: Имеется 5-6 классов, с базовым классом и 5- наследниками. Все классы - имеют разный...

Организовать заполнение массива размерностью n элементов
Организовать заполнение массива размерностью n элементов, используя библиотеку генерации случайных чисел. (начиная с произвольного отриц....

Организовать заполнение двумерного массива целыми четными и нечетными числами случайным образом в интервале от 1 до 6
Запрашивать размерность двумерного массива. Затем организовать заполнение двумерного массива целыми четными и нечетными числами случайным...

Как организовать автоматическое заполнение полей?
Ещё раз привет всем. У меня такая ситуация. Делаю базу данных, в которой будет храниться информация о сотрудниках(их ФИО, должность,...

Нужно организовать заполнение массива случайными значениями от 2 до 5 и определить количество студентов, сдавших сессию без двоек
Помогите в написании кода Pascal. Массив хранит оценки сессии 5-ти студентов по 6-ти предметам. Нужно организовать заполнение массива...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru