Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.08.2014, 01:35   #1
abcd_84
Пользователь
 
Регистрация: 29.06.2014
Сообщений: 21
По умолчанию Как прописать все возможные символы в массив?

Нужно сделать так
0 0 0 0 0 1
0 0 0 0 0 2
......... все возможные варианты до
25 25 25 25 25 25
Помогите пожалуйста.
abcd_84 вне форума Ответить с цитированием
Старый 28.08.2014, 03:02   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

В какой массив?
От этого массива у вас Excel вместе с компом упадут.
Вы хоть порядок количества строк представляете себе?
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 28.08.2014, 03:36   #3
abcd_84
Пользователь
 
Регистрация: 29.06.2014
Сообщений: 21
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
В какой массив?
От этого массива у вас Excel вместе с компом упадут.
Вы хоть порядок количества строк представляете себе?
Представляю, строк будет очень .... очень много.
Можно уменьшить до 7 7 15 7 25 20.
Сделать то как, подскажите пожалуйста.
abcd_84 вне форума Ответить с цитированием
Старый 28.08.2014, 04:06   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Можно уменьшить до 7 7 15 7 25 20.
уже лучше
на выходе имеем массив из 4.472.832 строк (а не 308 млн строк, как изначально)

вопрос: нафига вам этот массив?
вы что с ним потом делать будете?

PS: как сделать?
в цикле заполнить, например, макросом
(если у Excel хватит оперативной памяти)
чтобы памяти хватило - надо использовать тип данных BYTE

Если использовать тип Variant - результат на картинке:
Изображения
Тип файла: jpg crash.jpg (44.7 Кб, 103 просмотров)

Последний раз редактировалось EducatedFool; 28.08.2014 в 04:24.
EducatedFool вне форума Ответить с цитированием
Старый 28.08.2014, 04:20   #5
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Вот вам макрос, заполняющий массив
Пробуйте)

Код:
Sub LehfwrbqVfrhjc()
    Dim arr(1 To 4472832, 1 To 6) As Byte
    Dim i1 As Byte, i2 As Byte, i3 As Byte, i4 As Byte, i5 As Byte, i6 As Byte, ind&

    For i1 = 0 To 7
        For i2 = 0 To 7
            For i3 = 0 To 15
                For i4 = 0 To 7
                    For i5 = 0 To 25
                        For i6 = 0 To 20
                            ind& = ind& + 1
                            
                            arr(ind, 1) = i1
                            arr(ind, 2) = i2
                            arr(ind, 3) = i3
                            arr(ind, 4) = i4
                            arr(ind, 5) = i5
                            arr(ind, 6) = i6
                        Next
                    Next
                Next
            Next
        Next
    Next
End Sub
Макрос формирует массив, и заполняет его нужными данными
По времени - около 2 секунд занимает
EducatedFool вне форума Ответить с цитированием
Старый 28.08.2014, 13:03   #6
abcd_84
Пользователь
 
Регистрация: 29.06.2014
Сообщений: 21
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Вот вам макрос, заполняющий массив
Пробуйте)

Код:
Sub LehfwrbqVfrhjc()
    Dim arr(1 To 4472832, 1 To 6) As Byte
    Dim i1 As Byte, i2 As Byte, i3 As Byte, i4 As Byte, i5 As Byte, i6 As Byte, ind&

    For i1 = 0 To 7
        For i2 = 0 To 7
            For i3 = 0 To 15
                For i4 = 0 To 7
                    For i5 = 0 To 25
                        For i6 = 0 To 20
                            ind& = ind& + 1
                            
                            arr(ind, 1) = i1
                            arr(ind, 2) = i2
                            arr(ind, 3) = i3
                            arr(ind, 4) = i4
                            arr(ind, 5) = i5
                            arr(ind, 6) = i6
                        Next
                    Next
                Next
            Next
        Next
    Next
End Sub
Макрос формирует массив, и заполняет его нужными данными
По времени - около 2 секунд занимает
Ничего не происходит после выполнения, почему то
abcd_84 вне форума Ответить с цитированием
Старый 28.08.2014, 13:17   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

еще как происходит.

вчитайтесь в тему:
Цитата:
Как прописать все возможные символы в массив?
все необходимые Вам значения записаны в массив arr, что еще?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 28.08.2014, 13:23   #8
abcd_84
Пользователь
 
Регистрация: 29.06.2014
Сообщений: 21
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
еще как происходит.

вчитайтесь в тему:

все необходимые Вам значения записаны в массив arr, что еще?
Я может не правильно написал. мне нужно в столбик что бы появились цифры. А они не появляются((
abcd_84 вне форума Ответить с цитированием
Старый 28.08.2014, 13:41   #9
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

в екселе нет столбика на 38млн.847тыс.500 строк
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 28.08.2014, 14:28   #10
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

извините, я посчитал количество вариантов
17*17*17*15*20*25 = 38 847 500
а надо
7*7*7*15*20*25 = 2 572 500
это все равно больше чем 1 048 576 строк на листе

а даже если все и поместились бы, в чем сакраментальный смысл этого действа?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задан массив чисел из n элементов. вывести все возможные варианты перестановки из n элементов по m ( на паскале ) Sting707 Паскаль, Turbo Pascal, PascalABC.NET 2 11.03.2012 08:20
Даны натуральное число n и символы s1,...,sn. Получите все символы, расположенные до первого двоеточия (Pascal) Татьана Помощь студентам 16 22.09.2011 15:05
Все возможные комбинации X@OC Общие вопросы по Java, Java SE, Kotlin 9 04.07.2011 20:34
все возможные числа nick_5714 Помощь студентам 7 16.02.2011 15:41
Delphi, рекурсия, как сделать все возможные N-ки чисел (сколько столбцов такая N-ка,в данном случае 3)? domik Помощь студентам 5 26.09.2007 16:43