Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
1 / 1 / 1
Регистрация: 20.09.2014
Сообщений: 310

Создание вектора или массива большой длины

24.01.2018, 21:48. Показов 2227. Ответов 37
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят, помогите, пожалуйста выбрать правильный размер вектора, пытаюсь как-то так:
При таком значении вылетает
C++
1
vector<__int64> z(214748364), u(214748364), v(214748364);
При таком уже нормально работает:
C++
1
vector<__int64> z(21478364), u(21478364), v(21478364);
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.01.2018, 21:48
Ответы с готовыми решениями:

Открытые функции класса: ввод массива, вывод массива, определение длины вектора
Данные класса: массив N(10). Открытые функции класса: ввод массива, вывод массива, определение длины вектора. Длина массива определяется...

Даны два вектора b=(b1,b2,.,b6),x=(x1,x2,.,x6) и матрица А(6х6).написать программу вычисления длины вектора Ax-b
Даны два вектора b=(b1,b2,...,b6),x=(x1,x2,...,x6) и матрица А(6х6).написать программу вычисления длины вектора Ax-b. очень прошу...

Class A { хранит координаты радиуса-вектора (х,у) и имеет метод для вычисления длины вектора
class A { хранит координаты радиуса-вектора (х,у) и имеет метод для вычисления длины вектора class B-наследник А,имеет метод для...

37
277 / 226 / 93
Регистрация: 27.06.2016
Сообщений: 639
26.01.2018, 20:08
Студворк — интернет-сервис помощи студентам
Андей, скажите, какая у вас платформа, разрядность компилируемой программы.

Добавлено через 6 минут
Андей,
Какой другой контейнер с этим справится?
Справится с тем, чтобы держать балластом 1.6 ГБ? Или что вы хотите вообще?
0
1 / 1 / 1
Регистрация: 20.09.2014
Сообщений: 310
26.01.2018, 20:36  [ТС]
Мне нужен контейнер, где я могу хранить очень много значений. X86.
0
277 / 226 / 93
Регистрация: 27.06.2016
Сообщений: 639
26.01.2018, 20:47
Андей, эм, а зачем вы сидите на x86, если у вас 8 гигов?
0
1 / 1 / 1
Регистрация: 20.09.2014
Сообщений: 310
26.01.2018, 21:01  [ТС]
Это так сильно влияет?)
0
277 / 226 / 93
Регистрация: 27.06.2016
Сообщений: 639
26.01.2018, 21:09
Андей, ну, ваша система не может использовать больше 4гб. Плюс еще лимит на 2гб виртуальной памяти, вероятно объясняющий падение.
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
26.01.2018, 21:20
Андей, Если ваш алгоритм требует памяти на пределе возможности компьютера, есть несколько путей.
1. Пересмотреть алгоритм.
2. Если уверены, что ваш алгоритм никак не оптимизируется по памяти, используйте дисковую память. Все-таки ТераБайт немножко больше ГигаБайта. (подчеркиваю слово - немножко. Для задач экспотенциального типа 1000 - это и правда - ерунда)
3. Если предыдущие попытки решить задачу не к чему не привели, тут есть тоже варианты
3.1) Эта задача и впрямь сложна
3.2) Вы пока еще - никакой программист. Тут тоже есть варианты.
3.2.1) Учитесь
3.2.2) Бросьте это дело. Не ваше.
0
1 / 1 / 1
Регистрация: 20.09.2014
Сообщений: 310
26.01.2018, 21:23  [ТС]
Поменял на 64 бита, помогло). Вот просто какой контейнер лучше использовать для больших размеров? в динамическом массиве и векторе надо заранее указывать размер, а в map не надо. Значит map использует не по порядку куски памяти?
0
277 / 226 / 93
Регистрация: 27.06.2016
Сообщений: 639
26.01.2018, 21:26
Андей, вы так и не пояснили, для чего вам ваш контейнер. Вектор тоже не требует размер указывать. У него есть методы push_back, insert, emplace_back и др, которые расширяет вектор если места на вставку нового элемента не хватает.
0
1 / 1 / 1
Регистрация: 20.09.2014
Сообщений: 310
26.01.2018, 21:47  [ТС]
Мне нужен для того, чтобы заполнить его разными значениями и потом в нем искать элемент
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
26.01.2018, 21:51
Андей, Все идет к тому, что кроме пункта 3.2.2 вам уже посоветовать нечего.
0
277 / 226 / 93
Регистрация: 27.06.2016
Сообщений: 639
26.01.2018, 22:04
Цитата Сообщение от Андей Посмотреть сообщение
Мне нужен для того, чтобы заполнить его разными значениями
Звучит как "мне нужен контейнер, чтобы у меня был контейнер".
0
1 / 1 / 1
Регистрация: 20.09.2014
Сообщений: 310
26.01.2018, 22:06  [ТС]
большой длины, очень. А есть разница что заранее выделить память под контейнер или в процессе заполнения его увеличивать?
0
277 / 226 / 93
Регистрация: 27.06.2016
Сообщений: 639
26.01.2018, 22:15
Цитата Сообщение от Андей Посмотреть сообщение
большой длины, очень.
Ну какой?
У вас в открывающем посту вы пишете "уже вылетает", ну ладно, на 190+ миллионов меньше сделаем (при этом оставив себе какие-то жалкие 21 миллиона)...

Добавлено через 1 минуту
Цитата Сообщение от Андей Посмотреть сообщение
А есть разница что заранее выделить память под контейнер или в процессе заполнения его увеличивать?
Есть, если заранее выделено, не придется в процессе увеличивать...
Ну и отсюда следует, что в момент увеличения тратится как минимум в два раза больше памяти, чем необходимо (ибо присутствуют два массива в памяти одновременно)
0
1 / 1 / 1
Регистрация: 20.09.2014
Сообщений: 310
26.01.2018, 22:20  [ТС]
Цитата Сообщение от alex white Посмотреть сообщение
Ну какой?
2^30

Добавлено через 1 минуту
Цитата Сообщение от alex white Посмотреть сообщение
Ну и отсюда следует, что в момент увеличения тратится как минимум в два раза больше памяти, чем необходимо
я имею ввиду например вектор заранее память выделить или через push_back добавлять в необъявленный длины вектор
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
26.01.2018, 22:40

Не по теме:

Вся беда моя в том, что в памяти моей застревает куча всякой ерунды. И вот такую историю мне она подложила.
Идет солдат по пустыне. Жарко и пить хочется. А тут пальма стоит. Там - бананы-ананасы. Солдат дерево трясет - а ничего не падает. Подходит абориген (а может, и обезьяна) - хрясть палкой по ветке! Упал плод, и его абориген с удовольствием скушал. Солдат - "как ты это сделал?" - "А думать надо!" - "Да хрен ли здесь думать? Трясти надо!"

Более близкая российскому слушателю история - "Пилите, пилите, Шура! - они там внутри золотые!"

Добавлено через 5 минут
Чтобы понятнее было широкой публике. скажу. Алгоритм ТС, которым он пытается решить свою задачу, явно - бредов. И в этом бреде никакие Мапы его не спасут. И обсуждать возможности хороших инструментов тут не имеет никакого смысла.
Впрочем, если кому-то интересно на эту тему лясы поточить - какие могут быть возражения?
0
1 / 1 / 1
Регистрация: 20.09.2014
Сообщений: 310
26.01.2018, 22:46  [ТС]
не бредов, если конкретнее, то вот пытаюсь реализовать алгоритм:шаг младенца шаг великана
Там размер массива, где будем хранить элементы sqrt(n), где n-простое число. Оно может быть очень большое вплоть до 60-ти битное. Вот мне и надо, хорошенько разобраться с таким массивом.
1
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
26.01.2018, 23:55
Цитата Сообщение от Андей Посмотреть сообщение
алгоритм:шаг младенца шаг великана
Спасибо за ссылочку. Прочесть толком не смог, да и сложновато это для меня. Особенно понравился портрет Даниеля Шенкса.
Тогда остается самый интересный вариант
Цитата Сообщение от Байт Посмотреть сообщение
3.1) Эта задача и впрямь сложна
Но,имхо, если вы уткнулись в ограничения по памяти, надо искать другой путь. Замена вектора мапом отсрочит крах вашей идеи на 2 секунды.
Впрочем, если вас интересуют именно эти 2 секунды - ищете!
Но, имхо, подобные задачи оперируют с вечностью...

Добавлено через 13 минут
Андей, меня тоже интересовали простые числа (как впрочем, и многих), но, конечно, не на таком уровне.
Однако, мне удалось придумать небольшую упаковку эратосфенова решета. 1 байт на 30 чисел. Все там весьма простенько, и идея в том, что ровно 8 чисел в тридцатке смеют быть простыми. Опять же, по отношению к вечности - это слюни и сопли...

Добавлено через 16 минут
Андей, Если мои предыдущие замечания показались вам обидными, искренне прошу меня извинить. Но ведь то, что ваша задача принадлежит к классу 3.1, я узнал только из предыдущего вашего поста
0
1 / 1 / 1
Регистрация: 20.09.2014
Сообщений: 310
27.01.2018, 09:24  [ТС]
Цитата Сообщение от Байт Посмотреть сообщение
Если мои предыдущие замечания показались вам обидными, искренне прошу меня извинить.
ДА все нормально. Спасибо большое за советы)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.01.2018, 09:24

Инициализация глобального вектора мусором или создание общих данных
Нужно создать вектор, который бы было видно из любого обработчика. Создаю вектор в глобальной области(до неймспейса проекта): ...

Создание числового массива произвольной длины
Как создать числовой массив не указывая его длины. Т.е. предполагается, что длина массива определится в ходе выполнения программы. ...

Создание массива чисел неизвестной длины
Нужно сделать программу, которая считывает неизвестное наперёд количество чисел в массив. То есть чтобы можно было вводить любое количество...

Переменной R присвоить значение 1, если длина вектора А больше длины вектора В, и значение 0 в противном случае
Условие задачи: переменной R присвоить значение 1, если длина вектора А больше длины вектора В, и значение 0 в противном случае. Исходные...

Переменной A присвоить значение 1, если длина вектора X больше длины вектора Y; иначе присвоить 0
Заданы два вектора X(x1,x2,x3) Y(y1,y2,y3).Переменной A присвоить значение 1 , если длина вектор Х больще длины вектора У. В...


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

Или воспользуйтесь поиском по форуму:
38
Ответ Создать тему
Новые блоги и статьи
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru