|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.04.2012, 22:21 | #1 |
Форумчанин
Регистрация: 12.07.2011
Сообщений: 158
|
максимальное число в матрице
есть матрица (без выделение ДП)
unsigned long m[/*какое здесь самое максимальное число может быть?*/][5]; от чего зависит это максимальное число? компилятор начинает ругаться когда я вписываю 5200 |
06.04.2012, 22:30 | #2 | |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
Цитата:
Всего на стек дается, скажем, мегабайт. Чем больше задано таких массивов, тем меньше свободной памяти. Забив все такими массивами, не сможете даже объявить char c; |
|
06.04.2012, 22:34 | #3 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
это если локальная переменная, для глобальной то иные правила.
а там уже пожелания компиляттора. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
07.04.2012, 00:01 | #4 |
Форумчанин
Регистрация: 12.07.2011
Сообщений: 158
|
EUGY, есть статическая память, а есть динамическая. Хочешь сказать что статическая память сохраняет данные стеком???
Пепел Феникса, а более полным ответом. |
07.04.2012, 00:45 | #5 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
Память для глобальных переменных выделяется во время компиляции, а для локальных переменных в стеке, за исключением static.
При динамическом выделении памяти с помощью malloc / new данные размешаются в куче. Ты не смог выделить память под unsigned long m[5200][5] и я предположил, что m - локальная переменная и она там явно не одна такая "страшная". |
07.04.2012, 14:45 | #6 |
Форумчанин
Регистрация: 12.07.2011
Сообщений: 158
|
а если мне нужно работать с такой матрицей unsigned long m[2000000][5] я даже динамическую память не могу выделить(вылезает окошко недостаточно памяти). Оперативки 4г в целом. И чё, ни как???
|
07.04.2012, 16:49 | #7 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
Бережней к ресурсам относится надо. Выделил динамически, поработал, сразу освободи. Нужен блок памяти намного больще? Можно писать/читать в файл.
|
07.04.2012, 17:24 | #8 |
Форумчанин
Регистрация: 12.07.2011
Сообщений: 158
|
да как раз с файлом я и работаю )))
|
07.04.2012, 17:30 | #9 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
Вот и считывай с него небольшими блоками. С открытым файлом сопоставлен указатель текущей позиции в файле. Двигай его в нужном направлении и читай произвольно. Чтение/запись из файла автоматом сдвигает указатель вперед.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
В матрице 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 |