0 / 0 / 0
Регистрация: 03.05.2010
Сообщений: 46

Как увеличить максимальный размер массива?

03.05.2010, 01:02. Показов 14106. Ответов 88
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вопрос. Как увеличить максимальный размер массива? Команда типа DIM Y(16383) еще понимается
в QB, ,более уже никак, а мне надо хотя бы DIM Y(300000). Числа в массиве только натуральные, массив только одномерный. Строю скатерть Улама. Большую хочу!
Еще. Как картинку, нарисованную в QB напечатать или сохранить в JPG, например? Из ДОСа не получается..
Спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.05.2010, 01:02
Ответы с готовыми решениями:

Увеличить размер массива, оставив нетронутыми исходные элементы
1 (с использованием динамического массива): составить программу, в которой описать массив из 10 элементов и заполнить элементы 10...

Как программно увеличить максимальный размер окна в Windows?
Если в винде разрешение экрана 1024х768, то больше этого размера окно расширить нельзя. Можно ли как то убрать это ограничение?

Как динамически увеличить размер массива?
К примеру, задаю массивint Array;читаю данные с устройства и получается так, что данных пришло более 1000 позиций. Дело в том, что я...

88
0 / 0 / 0
Регистрация: 03.05.2010
Сообщений: 46
05.05.2010, 22:47  [ТС]
Студворк — интернет-сервис помощи студентам
Киньте хор.ссылку на описание команд QB 4.5, плиз..если она поможет, конечно
А то непонятно даже что есть DIM A%(32767)...

Добавлено через 1 минуту
Цитата Сообщение от PB Посмотреть сообщение
А где прога?
Могу дать файл энтот самый *.bas прямо из каталога QB, куда и как кинуть?
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
06.05.2010, 00:42
Цитата Сообщение от sasa999 Посмотреть сообщение
Киньте хор.ссылку на описание команд QB 4.5, плиз
А что здесь нет описания команд? Учебники по QBasic


Могу дать файл энтот самый *.bas прямо из каталога QB, куда и как кинуть?
Если код не большой, то выложи прямо в сообщении выделив его как "код BASIC", а если массивный, то прикрепи к сообщению (доступно в расширеном режиме).
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
06.05.2010, 01:07
>Киньте хор.ссылку на описание команд QB 4.5

Скачай первый кубейсик, там полностью весь синтаксис, самый лучший хелп по всем командам.
Нигде в книге не напишут сколько памяти ты можешь выделить, это известные параметры: для msdos предел 1 массива равен одному сегменту т.е. 64 Кб(я крыс под unreal пишу), для os windows, 4 Гб(формально, на самом деле гиг мож чуть больше из-за особенностей ядра).

Кидай кстати код и укажи где ты точку ставить будешь, её цветность. Если тебе больше 256 цветов надо, то программить везу(под асмом это сложно, не возьмусь если не найду свой модуль) или только в *.bmp* файл(это я смогу тебе написать если что, у меня где-то в книжке по паскалю структура есть)...
0
0 / 0 / 0
Регистрация: 03.05.2010
Сообщений: 46
06.05.2010, 21:07  [ТС]
ВОт прога. Считает до 16300 точек-простых чисел, рисует их "по улитке вправо", конкретно здесь 3000
точек (параметр im=3000). Цвета не нужны, хватает. Хочу чтоб на весь экран скатерть была.. Еще можно переделать в треугольник, пирамиду, там тоже нечто похожее будет.
Вложения
Тип файла: txt ULAM.txt (1.5 Кб, 40 просмотров)
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
07.05.2010, 02:42
sasa999 какую роль играет массив? Возможно ли юзать какой-нть другой метод нахождения натуральных чисел и убрать масив? Просто я уж никак не мог подумать что проблема в алгоритме генерации изображения. Вообщем позже добавлю в твой код побольше массивов, но ждать пока программа сгенерирует картинку очень долго.
0
0 / 0 / 0
Регистрация: 03.05.2010
Сообщений: 46
09.05.2010, 23:10  [ТС]
Нет, массив убрать нельзя, именно он постепенно и накапливает все подряд простые числа.
И снова перебирает эти числа из все увеличивающегося массива. 16383 числа слишком мало, надо больше, этак 100-300тыс штук. Именно в этом проблема. Именно ее надо решить.

Добавлено через 2 минуты
Что знасит медленно Гененрирует? Рисование 3000 чисел это всего лишь неск.секунд работы, а 16300 чисел рисуются около 6 мин. Мне хватает этого. Вряд ли быстрее можно, ибо Эмулятор ДОСа
быстро никогда не работает.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
10.05.2010, 02:28
>Именно в этом проблема. Именно ее надо решить.

Если проблема только в количестве памяти то Visual Basic - оптимальный вариант. Вообще говоря программы с таким быстродействием нужно реализовывать на ассемблере, потому что перебирать 300 тыс элементов мягко говоря пинцет учитывая тенденцию в снижении скорости работы. Выход вижу только один - накопительное вичисление, т.е. программа при старте загружает из файла вычисленный в прошлый раз массив простых чисел, по завершении сохраняет в этот же файл. Ну и может за пару лет таким образом вы эти 300000 вычислите)))))).

>именно он постепенно и накапливает все подряд простые числа.

Ясно.

P.S: На QB столько памяти нету - 5 массивов по 32768 элементов типа INTEGER - предел, на программу тоже памяти надо оставлять.

Добавлено через 3 минуты
Да ещё если значения чисел превышают 32767, тогда придётся использовать тип LONG - количество доступных элементов уменьшится вдвое.
0
0 / 0 / 0
Регистрация: 03.05.2010
Сообщений: 46
10.05.2010, 12:10  [ТС]
На Ассемблере??? Не, не думаю , что так все серьезно. Я правильно понял - если писать на Visual Basic, то размер массива там больше и меня устроит? Какой макс.размер линейного массива в VB?
Накопительное вычисление... - дело второе, меня устраивает лишних неск.минут работы на первые 16300 чисел, дальше, все равно, считаться все будет крайне медленно. Никакой ассемблер глобально не поможет, количество вычислений растет в степенной зависимости. За 8 часов насчитает немало)
А покак, как сделать в QB массив целых чисел в 32768 ? Текст проги ulam.txt выше 4 поста назад
есть. Можешь исправить прямо в нем?
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
10.05.2010, 16:42
Цитата Сообщение от sasa999 Посмотреть сообщение
Я правильно понял - если писать на Visual Basic, то размер массива там больше и меня устроит?
Подойдёт практически любой х86 бейсик под винду.
Их много есть.

Цитата Сообщение от sasa999 Посмотреть сообщение
Какой макс.размер линейного массива в VB?
По идее, должно быть окого 4 ГБ.
Для эксперимента создал такой код в PureBasic
Code
1
2
3
Dim Massiv.b(1000000000) ; Создание массива, размером миллиард байт
Massiv(1000000000)=100   ; Запись в миллиардный элемент массива
Debug Massiv(1000000000) ; Чтение из миллиардного элемента массива
Создаётся байтовый массив, размером миллиард байт (почти 1 ГБ) и производится запись и чтение и последний (миллиардный) элемент массива.
Всё работает. Масив такого большого размера создаётся за доли секунды.


Цитата Сообщение от sasa999 Посмотреть сообщение
Никакой ассемблер глобально не поможет
Очень сильно ошибаетесь.
Если грамотно написать на асме, то скорость увеличится в сотни раз! Естественно что нужно запускать прогу не на эмуляторе DOSа.

PS
Не обязательно весь код писать на ассемблере, ведь можно использовать асм. вставки чтобы ускорить выполнение критических мест проги.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
10.05.2010, 18:25
Цитата Сообщение от sasa999 Посмотреть сообщение
За 8 часов насчитает немало
Вам нужен кластер чтобы не считать эти 300000 элементов на бейсике несколько лет, говорю реально без приколов. Ваша программа у меня под VirtualPC считает на пороге выше 10000 элементов по 10 элементов в секунду, скорость ещё падает(6 элементов на 17000). Ну допустим вы создадите exe файл, запустите под досом, ну будет считать 50-70 элементов в секунду, но скорость то нелинейно падает, подумаете сколько потребуется времени на вычисление 1 элемента где-то на 60 тысячах, вы всё бросите, вам надоест ждать, да и вряд-ли досчитаете до 60000 тысяч без метода накопления элементов, дописывайте этот модуль сейчас если вам так нужна эта программа.

Переписал вашу программу под 3 массива LONG (16384 элемента), впринципе можно под 5 массивов сделать, но запускать надо под Win, потому что он оставляет больше места под Dos программу в обычной памяти.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
10.05.2010, 18:30
Блин почему вложения не работают? уже 3 раз загружаю - не пашет, как инфу вложить?
Миниатюры
Как увеличить максимальный размер массива?  
Вложения
Тип файла: txt Ulam.txt (2.2 Кб, 27 просмотров)
1
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
10.05.2010, 18:33
Наконец-то заработало...
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
10.05.2010, 20:10
Возможно использован не правильный алгоритм и поэтому так долго строится картинка.
В архиве парочка примеров прог (запускать под виндой) с исходниками.
Построение изображения занимает считанные секунды, при размерах картинки 800х600
Миниатюры
Как увеличить максимальный размер массива?  
Вложения
Тип файла: rar Графика.rar (49.5 Кб, 22 просмотров)
0
0 / 0 / 0
Регистрация: 03.05.2010
Сообщений: 46
11.05.2010, 23:45  [ТС]
>Quiet Snow<, сПАСИБО, ВСЕ ПОЛУЧИЛОСЬ, ХОТЯ НЕ ОЧЕНЬ ПОНИМАЮ, КАК МАССИВЫ ПОСКЛЕИВАЛИСЬ ЧТО ЛИ?
0
0 / 0 / 0
Регистрация: 03.05.2010
Сообщений: 46
12.05.2010, 00:00  [ТС]
еще вопрос. сделал прогу Lifegenesis, рисует популяцию микроорганизмов согласно правилам выживания/рождения , а площадь для рисунка маловата. Надо увеличить пощадь в неск.раз, т.е.
для SCREEN 12 сделать из DIM X(127, 127) и DIM Y(127, 127) соответственно DIM X(400, 400) и DIM Y(400,400). Помогите, плиз?
Вложения
Тип файла: txt LIFEGEN.TXT (1.1 Кб, 30 просмотров)
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
12.05.2010, 01:42
sasa999, слишком много памяти вы требуете от старого Dos-овского бейсика, раньше не делали упор на пямять, старались её экономить.
Любой современный компилятор под винду решит ваши проблемы, в случае с vb вы просто можете скопировать вашу программу в функцию обработки нажатия кнопки на форме, рисовать также на форме, не поленитесь установите попробуйте, вместо того чтобы теребить форум нетривиальными задачами.

Добавлено через 16 минут
Цитата Сообщение от sasa999 Посмотреть сообщение
КАК МАССИВЫ ПОСКЛЕИВАЛИСЬ ЧТО ЛИ?
Да программным образом. И работает теперь медленней.
1
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
12.05.2010, 10:50
Цитата Сообщение от >Quiet Snow< Посмотреть сообщение
в случае с vb вы просто можете скопировать вашу программу в функцию обработки нажатия кнопки
А разве допустимо чтобы внутри функции располагались подпрограммы?
Всё равно его править придётся.
0
0 / 0 / 0
Регистрация: 03.05.2010
Сообщений: 46
12.05.2010, 21:40  [ТС]
>Quiet Snow<, Можно поподробней (простите за неосведомленность мою) что именно мне надо усатновить/освоить под Виндой? Куда бросаться? Тут так много рекомендайий мелькает, что теряюсь. Я поклонник старых традиций, потому прошу указать что где как... Склеенные массивы вроде медленней, но несущественно. Спасибо!

Добавлено через 5 минут
И вообще, рано или поздно так или иначе появится таки нетривиальная задача, и число ей подобных будет только расти.. А тривиальные - да кому они нужны! Правда? Ковыряние вне рамок тривиальности радикально способствует прогрессу)
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
12.05.2010, 21:54
Цитата Сообщение от sasa999 Посмотреть сообщение
что именно мне надо усатновить/освоить под Виндой
Определись с диалектом бейсика под винду и начинай его осваивать.
0
0 / 0 / 0
Регистрация: 03.05.2010
Сообщений: 46
12.05.2010, 22:46  [ТС]
Какой именно надо VB осваивать? Куда лезть конкретно? Я не знаю, что именно мне нужно. Разницы между VB1 - VB6 не знаю/не вижу. Мне нужно увидеть скат.Улама 1024х1024, и Lifegenesis аналогично, а больше монитор не позволит.
А можно просто переписать мою прогу в ту среду/или еще как положено, чтобы у меня она тоже работала?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.05.2010, 22:46
Помогаю со студенческими работами здесь

Как увеличить размер дин. массива средствами С++
Привет всем!!! Подскажите плз, как увеличить размер (т.е добавить один элемент в конец) динамического массива средствами С++. (new и...

Необходимо увеличить максимальный размер памяти программы до 5 Гигов
Необходимо увеличить максимальный размер памяти программы до 5 Гигов и как я понимаю, выполнить явный вызов деструкторов for (int i = 0;...

Как увеличить размер массива до заданной длины заданным значением?
Как увеличить размер массива до заданной длины заданным значением?

Как можно увеличить размер массива на 1, чтобы добавилась еще одна строка снизу
дан двумерный массив, где i - индекс столбца, j - индекс строки. Как можно увеличить размер массива на 1, чтобы добавилась еще одна строка...

Как в IntelliJ IDEA увеличить размер (размер редактора, кода)?
как в IntelliJ IDEA увеличит размер (размер редактора, кода)?


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

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

Новые блоги и статьи
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru