0 / 0 / 0
Регистрация: 11.12.2018
Сообщений: 32
|
|||||||||||
1 | |||||||||||
Массив большого размера не заполняется11.12.2018, 06:51. Показов 1475. Ответов 3
По заданию необходимо считать из файла значения массива и отсортировать слиянием (рекурсивный алгоритм). Количество элементов в массиве 106. На массивах меньшего размера программа работает нормально, но при таком размере вызывается исключение во время сортировки. Прошу помочь понять и исправить ошибку.
Скрин исключения: Листинг: Кликните здесь для просмотра всего текста
Пробовал в функции сортировки создавать дополнительные массивы другим способом:
0
|
11.12.2018, 06:51 | |
Ответы с готовыми решениями:
3
Статический массив большого размера Как создать массив большого размера Файл или массив большого размера вывести на экран через буфер маленького размера Как создать массив большого размера? |
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
|
||||||
11.12.2018, 17:12 | 3 | |||||
Сообщение было отмечено DioxiT как решение
Решение
Функция sortMerge рекурсивная, следовательно вызывается она в данном случае не 1, а раз. Выделение памяти в вашем коде вижу, а вот освобождение - нет. Когда память закончится, вместо указателя на участок памяти вы получите nullptr от функции malloc() или исключение std::bad_alloc от оператора new. Всё как у вас на скринах.
Вывод: после использования память нужно освобождать.
1
|
0 / 0 / 0
Регистрация: 11.12.2018
Сообщений: 32
|
|
11.12.2018, 21:29 [ТС] | 4 |
Переключился на x64, действительно кинуло исключение std::bad_alloc
Затем добавил освобождение памяти, все работает. Благодарю за помощь!!!
0
|
11.12.2018, 21:29 | |
11.12.2018, 21:29 | |
Помогаю со студенческими работами здесь
4
Плавное изменение размера окна, когда ItemsSource у ItemsControl очищается и заполняется Дан массив А размера N. Сформировать новый массив В того же размера по следующему правилу: элемент Вк равен сумме элемен Дана прямоугольная матрица А размера mхn и массив В логических переменных размера m. По матрице А получить массив В ImageView большого размера Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи | |||||
Какой локальный веб-сервер выбрать
InfoMaster 19.01.2025
В современной веб-разработке локальные веб-серверы играют ключевую роль, предоставляя разработчикам надежную среду для создания, тестирования и отладки веб-приложений без необходимости использования. . .
|
Почему планшеты и iPad уже не так популярны, как раньше
InfoMaster 19.01.2025
Эра революционных инноваций
История планшетных компьютеров началась задолго до того, как эти устройства стали привычными спутниками нашей повседневной жизни. В начале 1990-х годов появились первые. . .
|
Как самому прошить BIOS ноутбука
InfoMaster 19.01.2025
BIOS (Basic Input/ Output System) представляет собой важнейший компонент любого компьютера или ноутбука, который обеспечивает базовое взаимодействие между аппаратным и программным обеспечением. . .
|
Какой Linux выбрать для домашнего компьютера
InfoMaster 19.01.2025
Современные реалии выбора операционной системы
В современном мире выбор операционной системы для домашнего компьютера становится все более важным решением, которое может существенно повлиять на. . .
|
Как объединить два словаря одним выражением в Python
InfoMaster 19.01.2025
В мире программирования на Python работа со словарями является неотъемлемой частью разработки. Словари представляют собой мощный инструмент для хранения и обработки данных в формате "ключ-значение". . . .
|
Как без исключения проверить существование файла в Python
InfoMaster 19.01.2025
При разработке программного обеспечения на Python часто возникает необходимость проверить существование файла перед выполнением операций с ним. Это критически важная задача, которая помогает избежать. . .
|
Как определить, содержит ли строка подстроку в JavaScript
InfoMaster 19.01.2025
При разработке веб-приложений часто возникает необходимость выполнять различные операции со строками, среди которых особое место занимает поиск подстрок. JavaScript предоставляет несколько встроенных. . .
|
Что такое метаклассы в Python
InfoMaster 19.01.2025
Метаклассы в Python представляют собой один из самых мощных и одновременно сложных механизмов языка, позволяющий программистам контролировать процесс создания классов. По своей сути, метакласс. . .
|
Как удалить свойство из объекта JavaScript
InfoMaster 19.01.2025
В современной веб-разработке объекты JavaScript играют фундаментальную роль в организации и структурировании данных. Они представляют собой контейнеры, которые хранят связанные данные и. . .
|
Какая разница между String и string в C#
InfoMaster 19.01.2025
В языке программирования C# существует интересная особенность: для работы со строками можно использовать как String, так и string. Эта двойственность часто вызывает вопросы у разработчиков, особенно. . .
|
Как в Git откатить репозиторий к предыдущему коммиту
InfoMaster 19.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса, предоставляя разработчикам мощные инструменты для управления изменениями в. . .
|
Как работают замыкания (closure) в JavaScript
InfoMaster 19.01.2025
В мире современной веб-разработки замыкания (closures) представляют собой один из фундаментальных концептов языка JavaScript, который часто вызывает затруднения у начинающих разработчиков, но при. . .
|