|
1 / 3 / 0
Регистрация: 25.04.2015
Сообщений: 474
|
|||||||||||
Потенциальная утечка памяти15.03.2026, 13:57. Показов 10875. Ответов 118
Метки нет (Все метки)
Здравствуйте! Помогаю тут знакомому делать лабораторную по программированию на С++. Делаю в Qt так как начал его изучать.
Задание: В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) максимальный по модулю элемент массива;[1] 2) сумму элементов массива, расположенных между первым и вторым положительными элементами. Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались после всех остальных. Вот, что у меня получилось:
И если можно подскажите как в этом коде сделать ЗАЩИТУ если в консоли будет набрано не правильное количество элементов.
0
|
|||||||||||
| 15.03.2026, 13:57 | |
|
Ответы с готовыми решениями:
118
Утечка памяти Шаблоны STL & утечка памяти. Утечка памяти |
|
Нарушитель
6339 / 3072 / 1054
Регистрация: 01.06.2021
Сообщений: 11,795
|
|
| 19.03.2026, 01:44 | |
|
Наталья8, вижу, что ты взял числа из моего массива. Вспомнилось, как на форуме вроде бы несколько лет назад (короче, когда форум был на пике активности) была тема, там ТС просил написать ему код на С++ и что-то там было связано с обработкой текстового файла. Ну и как всегда, ТС не приложил этот входной файл, поэтому никто не хотел писать код.
Я вот не поленился и написал текст для входного файла. С виду это был рандомный безобидный текст. Тут подтянулись другие и стали копировать мой текст (ну прям как ты скопировал числа из моего массива), чтобы использовать в своих вариантах кода. Ты подумаешь, ну и что с того, ребята решили просто не тратить свое время на написание рандомного текста для входного файла, а взяли его у RoyalX. Некоторые даже прямо благодарили меня за проделанную работу. Ну да, всё было бы ничего, если бы только по первым буквам каждой строки не было бы зашифровано пошлое послание))) А текст до сих пор на форуме...
1
|
|
|
638 / 396 / 68
Регистрация: 09.03.2016
Сообщений: 4,370
|
|
| 19.03.2026, 01:47 | |
|
Спасибо за проделанную работу. Создание массива.
Си, такая же фигня как плюсы, токо ни чё не понятно...
0
|
|
| 19.03.2026, 01:51 | |
|
0
|
|
| 19.03.2026, 01:54 | |
|
0
|
|
| 19.03.2026, 01:56 | |
|
0
|
|
| 19.03.2026, 01:59 | |
|
0
|
|
| 19.03.2026, 02:44 | |||||
Посмотрите open-sources (хоть тот же Qt), никакого "обилия std" я там не наблюдаю Не, я конечно понимаю что "чисто объективно" std - штука совсем не плохая, да и вообще стандартная библиотека необходима. Но все хорошо в меру, а многие ее совсем потерялиИ вот делаю я все в одном цикле/проходе, и что, это чем-то плохо? Чем? Какой-то анти-паттерн? Какой? Не выходит задействовать std? Ну если все легко достигается и без него - значит он здесь и не очень нужен/необходим.
0
|
|||||
|
Заблокирован
|
||||
| 19.03.2026, 03:15 | ||||
|
Вот же в моем примере итератор прицеплен на поток, при чтении. Так же можно прицепить ко всем алгоритмам которые используют forward iterator. Анти-паттерн - противоположное. Непонятно почему мне приходится повторяться. Предлагаю попробовать написать "по-взрослому". По-моему чтение должно выглядеть так И так в десятках твоих тем могу привести. В одних темах ты уводишь в сторону общих и универсальных подходов. В другом лепишь в кучу си-говнокода. Определись уже. Или просто признайся, что заходишь просто с кем то поспорить и конечно же, потроллить. Я, например, свои аргументы привел. Они просты и понятны. Ты же, сейчас и до конца времен будешь как уж юлить, выдумывать и фантазировать. Ясно-понятно, ничего не изменилось. Удачи. ТС-у придется поразмышлять над всем этим. Добавлено через 7 минут Где необходимо свои, пишутся свои. Где можно обойтись стандартным или их скомбинацией, выбираются готовые. Опять чувствую что повторяюсь.... p.s. Впервые вижу std::-фобию)
0
|
||||
| 19.03.2026, 04:57 | |||||||
0
|
|||||||
| 19.03.2026, 18:02 | |||
Хотя я бы тоже его сходу/навскидку не написал. Вот std:: partition да, но и то пришлось бы повозиться. А для stable пришлось бы почитать теорию. Поэтому наверно лучше не строить из себя крутяка, а позиционироваться скромнее, напр
Во-вторых, с выбором нужных ф-ций нередки осечки. Напр std::stable_partition - не лучший выбор. Да, рез-т тот что нужен, но не оптимально, все-таки велик здесь чуть лучше. На копеечку, напрягаться не стоит, проще std::remove_if, но все-таки Хорошо заметно что усиленное пожирание std::функций деформирует сознание. Решение принимаются не по логике задачи, а потому что видит/знает "нужную ф-цию". Напр в этой теме 3 задачи решались в 3 циклах, пусть это решение как минимум не хуже, но сознательным выбором это не было. Как сейчас модно говорить, "хвост виляет собакой" Почему-то не смущает что достигнутая экономия/профессионализм часто ну как-то очень малы, напр здесь std::find_max и std::accumulate. Разве это великое достижение плюсов которым стоит гордиться? Тем не менее человек упорно стремится утыкать весь код std ("как будто в этом есть покой" ). Впрочем это не касается др аспектов std (контейнеров, многопоточность и др) - но там же надо вникать, а не так, ф-ции хватать, поэтому там заниматься не особо хотят. А тут комфортно - открыл cppreference, посмотрел пример - и вот уже есть полное право обругать "отсталым сишкокодером" любого кто так не делает. Признаться что кучу времени потратил на полную фигню никто не хочет, даже самому себе
0
|
|||
| 19.03.2026, 18:11 | ||
|
Не по теме:
Во-вторых, когда я имел в виду, что тоже могу написать детский лисапед, то я имел в виду лисапед для решения задачи ТС, похожий на тот, что ты написал. Для решения задачи ТС лисапедным способом вовсе необязательно реализовать полноценный std::stable_partition. В-третьих, да, если мне понадобится, то я без проблем напишу свой std::stable_partition. Но мне это сейчас не нужно и у меня нет никакого желания тратить своё время на ненужные вещи, которые отнимут у меня определенное неоправданное количество времени только потому, что некий анонимный трехмерный Игорь хочет взять меня на слабо)))
0
|
||
| 20.03.2026, 14:51 | |
|
0
|
|
| 20.03.2026, 15:45 | |||||||
0
|
|||||||
| 20.03.2026, 16:07 | |||
|
Не по теме:
В этой теме только 50 постов уйдет на обсуждение The Art of Computer Programming, в частного второго тома Seminumerical algorithms...
0
|
|||
|
638 / 396 / 68
Регистрация: 09.03.2016
Сообщений: 4,370
|
||||||
| 20.03.2026, 18:00 | ||||||
|
https://gist.github.com/LostIn... 04121959a4
Подробно для велосипедистов. Вообще, когда из вектора удаляешь значение, он (ёпть), сжимаеться и сам замещает пустое место. На c style массиве надо перегонять все что после нуля на одну позицию в лево, затирая тот нуль. Когда то писал я такое и на векторе и на си стиль массиве. ИИ ещё не было. А разделы форума нормально работали. (Не воровал, а писал.) Добавлено через 10 минут Вот так искуственный интелект хочет нули удалять. На с++.
Хочешь что бы конкретно и правильно - пиши сам и на си..
0
|
||||||
|
Нарушитель
6339 / 3072 / 1054
Регистрация: 01.06.2021
Сообщений: 11,795
|
||||||||||
| 20.03.2026, 18:27 | ||||||||||
|
только зачем всё это, если можно и одной функцией все проделать...
0
|
||||||||||
| 21.03.2026, 07:04 | ||||||||||||||||||
|
std::remove_if не зачищает хвосты, напр
0
|
||||||||||||||||||
|
Нарушитель
6339 / 3072 / 1054
Регистрация: 01.06.2021
Сообщений: 11,795
|
|||||||
| 21.03.2026, 17:39 | |||||||
std::stable_partition (если порядок ненулевых элементов важен) или std::partition (если этот порядок не важен)?Касательно оптимизации, то можно привести C++ Core Guidelines, а именно первые 6 пунктов раздела Performance: Per.1: Don’t optimize without reason Per.2: Don’t optimize prematurely Per.3: Don’t optimize something that’s not performance critical Per.4: Don’t assume that complicated code is necessarily faster than simple code Per.5: Don’t assume that low-level code is necessarily faster than high-level code Per.6: Don’t make claims about performance without measurements Попытайся вникнуть в смысл этих принципов, чтобы побороть свои страхи. Иначе ты никогда нормальный код на С++ не напишешь. Касательно же количества строк, то я впервые слышу, что это важно. Какая разница, писать в одну строку или в две? Я еще понял бы, если код предназначался бы для какого-то сайта, где люди соревнуются между собой, кто напишет покороче. К тому же, "строка" кода - это понятие субъективное. Вот, если я возьму две строчки твоего кода и напишу одной строкой, что тогда? Снизится лишь читаемость кода.
0
|
|||||||
|
638 / 396 / 68
Регистрация: 09.03.2016
Сообщений: 4,370
|
||||||
| 21.03.2026, 17:53 | ||||||
|
Если это велосипед, то очень старый.
Кстати довольно гавнистая схема. Если вталкивать нули в конец в процессе, v.size() будет расти. Как бы бесконечный цикл не получился. На сишном массиве проще он меньше выделываеться. Добавлять после процесса...
0
|
||||||
| 21.03.2026, 17:53 | |
|
Будет ли утечка памяти при выполнении данного кода? Утечка памяти в работе с классами Утечка памяти, пользуюсь vld Утечка памяти при умножении матрицы на число Утечка памяти CppWebBrowser Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|