Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 04.04.2019
Сообщений: 5

Удаление из массива C++

04.04.2019, 11:18. Показов 1577. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Удалить из одномерного массива минимальный и максимальный элемент.
Заранее спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.04.2019, 11:18
Ответы с готовыми решениями:

Удаление элементов массива кратных своим порядковым номерам и удаление их путем сдвига вперед
Ребята, всем привет. Дистанционная практика (связи с короновирусом) дает о себе знать. Ответ на вопрос заданный учителю приходиться ждать...

Одномерные массивы. Вставка, удаление элементов массива. Перестановка элементов массива. Сортировка массива методом пузырька
Помогите пожалуйста! Дан массив, состоящий из N букв латинского алфавита а) Заполнить массив датчиком случайных чисел б)...

Удаление элементов одномерного массива, больших последнего элемента этого массива
составьте программу удаления элементов одномерного массива A(N) больших последнего элемента этого массива

28
Mental handicap
 Аватар для Azazel-San
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
04.04.2019, 19:57
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от valen10 Посмотреть сообщение
Azazel-San, какую строку вы имели в виду? В цикл при iSize = 0 зайти не должно, вот дальше int iMax = pA[0]; уже настораживает.
Да-да, поспешил, но это сути не меняет.
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
Azazel-San, Не знал что 'некорректный ввод юзверга' называется UB
Дело не вводе, а в том что есть возможность выделить память размером 0 (на самом деле это impl-defined), и дальнейшие обращения к ней, хотя первого уже достаточно.
Цитата Сообщение от Ctty Посмотреть сообщение
C++
1
(хотя память вроде как выделять не должен)
Стандарт разрешает, я же писал выше.
0
65 / 31 / 18
Регистрация: 16.03.2019
Сообщений: 84
04.04.2019, 20:14
Не понятно, с какой целью разрешено выделять память нулевого размера.
Есть соображения? Т.е. для каких целей это может использоваться?
0
Mental handicap
 Аватар для Azazel-San
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
04.04.2019, 20:56
Цитата Сообщение от Ctty Посмотреть сообщение
Есть соображения? Т.е. для каких целей это может использоваться?
Ну, в Си тоже самое, ведь new[] в своих потрохах вызывает malloc, а malloc просто выделяет некий участок памяти в куче, так что прям к тем обычным массивам [dcl.array], это имеет только косвенное отношение, соответственно правило того, что размер должен быть больше нуля здесь не действует.
В итоге при выделении памяти под 0 объектов у нас просто валидный указатель.
Но делать с ним почти ничего нельзя, наверное кроме сравнения

Добавлено через 2 минуты
Ctty, вот что стандарт Си говорит по этому поводу (это относится к malloc)
If the size of the space requested is zero, the behavior is implementation defined: either a null pointer is returned, or the behavior is as if the size were some nonzero value, except that the returned pointer shall not be used to access an object.
0
65 / 31 / 18
Регистрация: 16.03.2019
Сообщений: 84
04.04.2019, 21:36
Про Си я понял, что выделение нулевого размера памяти - implementation defined. Возвращается или нулевой указатель или адрес этой области памяти (нулевого размера).
В таком случае, при выделении массива нулевого размера на C++ мы на каких-то компиляторах так же можем получить нулевой указатель. Или я что-то не понял?
0
Mental handicap
 Аватар для Azazel-San
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
04.04.2019, 22:12
Цитата Сообщение от Ctty Посмотреть сообщение
В таком случае, при выделении массива нулевого размера на C++ мы на каких-то компиляторах так же можем получить нулевой указатель. Или я что-то не понял?
В Си может и так, но в С++, по факту такого быть не должно.
When the value of the expression is zero, the allocation function is called to allocate an array with no elements.
Т.е. в С++ нам должны 100% что-то выделить.
А что, т.е. сколько, зависит уже от компилятора.
1
65 / 31 / 18
Регистрация: 16.03.2019
Сообщений: 84
05.04.2019, 08:09
Если кто-нибудь привел бы пример решения какой-либо задачи с использованием данного приема - т.е. выделения массива нулевого размера (может потом каких либо действий с указателем на этот участок памяти), тогда бы стало понятно, для чего такую возможность в стандарт языка заложили...
0
82 / 82 / 44
Регистрация: 14.07.2013
Сообщений: 410
05.04.2019, 10:43
так ты проанализируй возможные операции и узнаешь пригодится оно тебе или нет.
ты такой указатель можешь разве что сравнивать с другим указателем (== или !=) или скопировать адрес в другой указатель или просто удалить. читать что-то или записывать что-то в выделенную память бесполезно потому что там нет элементов.
вот и подумай зачем тебе указатель который практически как nullptr но хуже потому что его память ещё и удалять нужно в конце программы.
0
65 / 31 / 18
Регистрация: 16.03.2019
Сообщений: 84
05.04.2019, 16:26
Цитата Сообщение от IchimaruGin Посмотреть сообщение
так ты проанализируй возможные операции и узнаешь пригодится оно тебе или нет.
Возможные операции с такими указателями уже были рассмотрены в беседе выше. Писать об этом ещё раз не имеет смысла. Я для себя не придумал, где это может быть применено, потому и спросил про примеры использования (вдруг такие существуют...).
0
05.04.2019, 16:39

Не по теме:

я просто думал что если знать возможные операции то подобных вопросов не возникало бы, ну раз дублирую то каюсь

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.04.2019, 16:39

Удаление из одного массива элементов второго массива и запись результата в третий
Есть массив masA (длина lenA), есть массив masB (длина lenB). Необходимо из массива masA удалить элементы, входящие в массив masB и...

Чтение из массива файлов и удаление дублирующихся строк в каждом файле массива
Добрый день, сейчас я только начал изучать powershell и программирование в целом, и сейчас у меня возникла проблема с массивами, а именно,...

Проверка значение массива через Edit1 и удаление элемента из массива
Как проверить через Edit1 значение элемента массива, а потом его удалить например в js, за это отвечала функция splice, а в Delphi как это...

Удаление элементов целочисленного одномерного массива, кратных первому элементу этого массива
Составьте программу удаления элементов целочисленного одномерного массива A(N),кратных первому элементу этого массива. Помогите,...

Удалить из массива A[N] вс отрицательные элементы.Удаление отрицательных элементов массива оформить в виде функции
Что исправить? #include <stdio.h> #define N 10 int udalenie(int A,int k ) { int i; for(i=k;i<N;i++)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
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 и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru