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

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

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.04.2012, 22:21   #1
Madmaxisss
Форумчанин
 
Регистрация: 12.07.2011
Сообщений: 158
По умолчанию максимальное число в матрице

есть матрица (без выделение ДП)

unsigned long m[/*какое здесь самое максимальное число может быть?*/][5];

от чего зависит это максимальное число?
компилятор начинает ругаться когда я вписываю 5200
Madmaxisss вне форума Ответить с цитированием
Старый 06.04.2012, 22:30   #2
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Цитата:
от чего зависит это максимальное число?
Думаю, от свободной области стековой памяти.
Всего на стек дается, скажем, мегабайт.
Чем больше задано таких массивов, тем меньше свободной памяти.
Забив все такими массивами, не сможете даже объявить char c;
EUGY вне форума Ответить с цитированием
Старый 06.04.2012, 22:34   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

это если локальная переменная, для глобальной то иные правила.
а там уже пожелания компиляттора.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 07.04.2012, 00:01   #4
Madmaxisss
Форумчанин
 
Регистрация: 12.07.2011
Сообщений: 158
По умолчанию

EUGY, есть статическая память, а есть динамическая. Хочешь сказать что статическая память сохраняет данные стеком???

Пепел Феникса, а более полным ответом.
Madmaxisss вне форума Ответить с цитированием
Старый 07.04.2012, 00:45   #5
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Память для глобальных переменных выделяется во время компиляции, а для локальных переменных в стеке, за исключением static.
При динамическом выделении памяти с помощью malloc / new данные размешаются в куче.
Ты не смог выделить память под unsigned long m[5200][5] и я предположил, что m - локальная переменная и она там явно не одна такая "страшная".
EUGY вне форума Ответить с цитированием
Старый 07.04.2012, 14:45   #6
Madmaxisss
Форумчанин
 
Регистрация: 12.07.2011
Сообщений: 158
По умолчанию

а если мне нужно работать с такой матрицей unsigned long m[2000000][5] я даже динамическую память не могу выделить(вылезает окошко недостаточно памяти). Оперативки 4г в целом. И чё, ни как???
Madmaxisss вне форума Ответить с цитированием
Старый 07.04.2012, 16:49   #7
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Бережней к ресурсам относится надо. Выделил динамически, поработал, сразу освободи. Нужен блок памяти намного больще? Можно писать/читать в файл.
EUGY вне форума Ответить с цитированием
Старый 07.04.2012, 17:24   #8
Madmaxisss
Форумчанин
 
Регистрация: 12.07.2011
Сообщений: 158
По умолчанию

да как раз с файлом я и работаю )))
Madmaxisss вне форума Ответить с цитированием
Старый 07.04.2012, 17:30   #9
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Вот и считывай с него небольшими блоками. С открытым файлом сопоставлен указатель текущей позиции в файле. Двигай его в нужном направлении и читай произвольно. Чтение/запись из файла автоматом сдвигает указатель вперед.
EUGY вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В матрице nxm определить в каждом столбце минимальное и максимальное элемент число, возвести в степень. Рекурсия (на Паскаль абс) BArt2000 Паскаль, Turbo Pascal, PascalABC.NET 1 03.04.2012 08:32
В матрице найти число положительных элементов указанной строки и умножить это число на элементы указанного столбца. (Паскаль) Julichka1k Помощь студентам 4 18.12.2011 20:35
Максимальное из чисел встречающих в заданной матрице более одного раза Seo-optimist Общие вопросы C/C++ 11 25.10.2010 21:44
Максимальное из чисел встречающих в заданной матрице более одного раз Seo-optimist Помощь студентам 1 25.10.2010 15:13
число, встречающееся в матрице максимальное количество раз boing Паскаль, Turbo Pascal, PascalABC.NET 5 28.05.2010 10:25