Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.93/103: Рейтинг темы: голосов - 103, средняя оценка - 4.93
11 / 11 / 2
Регистрация: 16.08.2009
Сообщений: 434

Тип данных для очень большого массива

07.02.2010, 14:28. Показов 20429. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть массив где больше четырех миллионов элементов

C++
1
int massiv[1070190][4]={0};
когда так пишу программа компилируется нормально

но при выполнении выдает ошибку
в коде программы в массив даже ничего не записываю но все равно прога вылетает

пробовал писать так

C++
1
double massiv[1070190][4]={0};
вылетает так же

можно как то использовать такой массив ?

если нет то какой максимальный размер массива можно использовать ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.02.2010, 14:28
Ответы с готовыми решениями:

Создания ну очень большого массива
Нужно создать массив состоящий из 1 000 000 целых чисел в диапазоне для дальнейший сортировке. Проблема в том что могу создать массив...

Cохранение очень большого массива в текстовый файл
Помогите пожалуйста. Мне требуется сохранить карту в своей игре в текстовый файл. Класс карты: class cMap { public: ...

Создать тип данных для хранения массива логических величин, перегрузить операторы поэлементно
Создать тип данных для хранения массива логических величин. Перегрузить операторы «&&», «||» и «!» для выполнения соответствующих...

24
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
08.02.2010, 18:10
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от nill Посмотреть сообщение
novi4ok,
вопрос все тот же
как присвоить значение массиву?
скажем элементу [0][0]

C++
1
pIntArray[0][0]=1;
вот так:

*(pIntArray+(0*ROW_LENGTH)+0) = 1;
1
11 / 11 / 2
Регистрация: 16.08.2009
Сообщений: 434
08.02.2010, 18:26  [ТС]
теперь все работает и работает быстро огромное спасибо novi4ok
использую самый простой вариант

C++
1
2
int *massiv = (int*)malloc (1070190*sizeof(int)*4);
*(massiv+(0)+0) = 1;
незнаю тут спросить или создать новую тему

а как такой массив передать в функцию ?
1) что писать в прототип функции?
2) что писать при определнии функции ?
3) что писать при вызове функции ?
0
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
08.02.2010, 18:53
Я предпологаю в функцию вам надо передавать простой указатель на начало массива. Зачем что то другое?
0
11 / 11 / 2
Регистрация: 16.08.2009
Сообщений: 434
08.02.2010, 19:35  [ТС]
опять проблема вылезла прога вылетает после 5 минут
думаю проблема в оперативной памяти количество ее стремительно уменьшаеться пока прога запущенна, надо как то удалять массив из нее
0
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
08.02.2010, 20:28
Не совсем понял в чем трудность, нижеприведенный пример нормально работает. 17 МБайт памяти не слишком уж и много (хотя я понимаю что все относительно)
C++
1
2
3
4
5
int* Array = new int[1070190*4];
// Тут что то делаем с массивом как надо
 
// Когда массив уже не нужен делаем так
delete [] Array;
ps. Для malloc есть free однако я им не пользовался так что поищите информацию про него. free освободит выделенную malloc память.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.02.2010, 20:28

Обработка большого массива данных на C++
Суть проблемы. На работе, дали задание проработать 1 большой файл (вывести графики результата анализа и т.д.). Файл: двоичный. ~ 71 Мб ...

Сортировка очень большого файла.
вопрос таков: есть очень большой файл, его нужно отсортировать. Так как файл большой его нужно извлекать по частям. Как это можно...

что лучще использовать для большого массива тескста
Добрый день. Столкнулся с проблемой со следующей проблемой мне надо выводить таблицу в текстовом формате где 10 столбцов и много...

Какой тип использовать для очень большого числа?
Как сделать так чтобы переменная вмещала НАМНОГО больше чем double (После запятой). Больше double -1,79769313486232e308 .....

Создание очень большого двумерного массива
Здравствуйте! Возникла проблема. Нужно создать ну просто очень большой двумерный массив, примерно 200000 на 200000, причем элементы...


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru