|
54 / 54 / 23
Регистрация: 02.02.2011
Сообщений: 436
|
||||||||||||||||
Проблемы с памятью15.04.2013, 09:55. Показов 1559. Ответов 18
Метки нет (Все метки)
Программа создает династическую двумерную матрицу. Не могу найти где происходит утечка памяти. Если несколько раз вводить большие размеры матрицы, то не происходит полная очистка памяти и программа просто закрывается. Помогите найти утечку и очищать память корректно.
Often.h
0
|
||||||||||||||||
| 15.04.2013, 09:55 | |
|
Ответы с готовыми решениями:
18
проблемы с памятью.... Сортировки. Проблемы с памятью
|
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|
| 15.04.2013, 10:58 | |
|
Wanee, ознакомьтесь в с концепцией RAII для исключения утечек памяти. И не используйте исключения типа int. Это плохой тон. Заведите специальный класс.
Искать утечки в Вашем коде слишком утомительно в силу ужасной кривизны. Проще переписать.
0
|
|
|
54 / 54 / 23
Регистрация: 02.02.2011
Сообщений: 436
|
|
| 15.04.2013, 13:52 [ТС] | |
|
Tulosba, да логичней использовать свой тип, но по заданию я нельзя пользоваться классами, так что пришлось использовать int.
0
|
|
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|
| 15.04.2013, 13:55 | |
|
0
|
|
|
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
|
|
| 15.04.2013, 14:19 | |
|
thinking
Добавлено через 21 минуту Код попахивает, но ... 1. Кто сказал что у Вас лик? 2. матрицу каких размеров Вы аллоцируете?
0
|
|
|
54 / 54 / 23
Регистрация: 02.02.2011
Сообщений: 436
|
|
| 15.04.2013, 14:22 [ТС] | |
|
Tulosba, одно из требований "8. Программы реализуются на языке С++ БЕЗ использования классов."
0
|
|
|
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
|
|
| 15.04.2013, 14:24 | |
|
Используйте функции это раз. Можно енумчик?, нет -> дефайны, это два. Три у вас ошибка на bad alloc !means и Вы не переходите в режим 1 (и примите его по конст реф.)
std::ifstream &stream и std::istream &stream имеют один интерфейс, уберите дублирование кода.
1
|
|
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|
| 15.04.2013, 14:41 | |
|
0
|
|
|
54 / 54 / 23
Регистрация: 02.02.2011
Сообщений: 436
|
|
| 15.04.2013, 14:45 [ТС] | |
|
Tulosba, тогда как задать значение переменной в struct без конструктора?
0
|
|
|
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
|
||||||
| 15.04.2013, 14:54 | ||||||
0
|
||||||
|
870 / 529 / 149
Регистрация: 03.02.2013
Сообщений: 1,847
|
||
| 15.04.2013, 14:59 | ||
разница только в одном - class по умолчанию начинает свои методы как private а struct как public
0
|
||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|
| 15.04.2013, 15:00 | |
|
Wanee, вся разница между class и struct в c++ в том, что для первого по умолчанию используется private доступ, а для второго - public. Т.е. для структуры можно задавать всё то, что можно для класса, конструктор в том числе.
0
|
|
|
54 / 54 / 23
Регистрация: 02.02.2011
Сообщений: 436
|
|
| 15.04.2013, 15:02 [ТС] | |
|
stima, а как тогда использовать её в throw?
Добавлено через 55 секунд Tulosba, это да, но если я буду использовать функций и конструкторы в структуре то задание не примут.
0
|
|
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|
| 15.04.2013, 15:04 | |
|
Wanee, полный текст задания можно узреть?
0
|
|
|
54 / 54 / 23
Регистрация: 02.02.2011
Сообщений: 436
|
|
| 15.04.2013, 15:09 [ТС] | |
|
ТРЕБОВАНИЯ К ПРОГРАММАМ
1. Необходимо точно выполнять условия задач, при сомнениях -- консультироваться с преподавателем. Программы представляются в исходных текстах. 2. Программы должны быть написаны самостоятельно. 3. Текст программы должен быть откомментирован. В заголовке указать имя автора, группу, формулировку задания. Имена переменных, функций и проч. должны иметь осмысленные имена. Желательно объявление переменной снабжать комментарием о ее назначении. 4. Следует структурировать программу, разбивая ее на (относительно) независимые части. Осуждается порочная практика размещения многих операторов в одной строке. 5. Длинные программы (свыше 200 строк) следует разбивать на несколько файлов и создавать проект. Это обязательное требование, так как умение работать с проектами квалифицированному программисту необходимо. 6. Интерфейс программы должен быть достаточно удобен для пользователя. Программа должна быть снабжена удобным интерфейсом на базе меню. 7. Программа должна компилироваться без ошибок и предупреждений при всех включенных сообщениях компилятора. 8. Программы реализуются на языке С++ БЕЗ использования классов. 9. Программы должны быть хорошо протестированы перед сдачей. 10. Сроки сдачи: 1-я программа - до 15 октября, 2-я программа - до 7 ноября, 3-я программа - до 1 декабря, 4-я программа - на зачетной неделе 11. См. также отдельные требования в разделах. ТРЕБОВАНИЯ к задачам данного раздела: 1. Программа должна осуществлять анализ командной строки. Если при запуске программе переданы параметры, то первый из них - имя файла, из которого следует брать исходные данные. Если параметры не переданы, то ввод осуществляется из стандартного потока ввода. 2. Результат должен представлять собой функцию (отличную от функции main() ), решающую поставленную задачу. Исходные данные (как правила, матрица и ее размеры) передаются в эту функцию в качестве параметров. Функция main() должна быть демонстрацией возможностей написанной программы. При необходимости можно вводить вспомогательные функции. и само задание: 16. Среди тех строк целочисленной матрицы, которые содержат только нечетные элементы, найти строку с максимальной суммой модулей элементов.
0
|
|
|
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
|
|||||||
| 15.04.2013, 15:11 | |||||||
|
Во-первых использовать методы в структуре). Во-вторых забейте на классы и структуры. Для решения вашей задачи они Вам не надо.
Разбейте код, на логические единицы(функции) - у Вас их как минимум 2 (Ваш item 1/2). Используйте возврат значения, как определение удачи/неуспеха, так-как использование исключений в Вашем коде это оверхед (у вас нет возврата по стеку больше чем на фрейм). Заведите хедер с дефайнами о ошибках и туда же функцию ошибка_число->ошибка_строка. Ваш код примет вид
1
|
|||||||
|
54 / 54 / 23
Регистрация: 02.02.2011
Сообщений: 436
|
||||||
| 15.04.2013, 15:12 [ТС] | ||||||
|
stima, то есть думаете лучше все таки создать структуру и писать как то так?
0
|
||||||
|
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
|
||||||||||||
| 15.04.2013, 15:28 | ||||||||||||
|
Добавлено через 9 минут В догонку раз.
Вдогонку 2.
п.с. И если препод такое не примет или скажет не по заданию, смело идите к ректору и говорите что препод такой-то не компетентен.
1
|
||||||||||||
|
54 / 54 / 23
Регистрация: 02.02.2011
Сообщений: 436
|
|
| 15.04.2013, 15:44 [ТС] | |
|
stima, спасибо большое)
0
|
|
| 15.04.2013, 15:44 | |
|
Помогаю со студенческими работами здесь
19
Проблемы с памятью при сортировке std:bad_alloc Проблемы с памятью
Проблемы с памятью Проблемы с памятью Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|