|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.06.2013, 23:47 | #1 |
C/C++, Java
Участник клуба
Регистрация: 28.03.2012
Сообщений: 1,680
|
Удаление элемента из массива
Добрый день. Нужен совет опытных людей.
Ничего толкового в голову не идет... Нудна функция удаления элемента (по значению) одномерного массива (например из 2 1 3 4 3 6 3 2) исключить 2. Пытался создать вспомогательный массив для хранения, сдвигать значения в массиве.... какая-то бредятина, даже код не буду выкладывать... Даже не предполагал, что этот вопрос станет для меня актуальным... Алгоритм, кусок кода. Буду признателен за любую помощь
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости" Сложность - враг простоты и удобства! |
17.06.2013, 00:04 | #2 |
Участник клуба
Регистрация: 03.12.2009
Сообщений: 1,013
|
Привет!
Вот мой мини набросок. Код:
Имитируем удаление тупо сдвигом и изменением перемнной которая содержит количество элементов в массиве - самый примитивный способ P.S. Или нужно именно с динамическим перераспределнием? Последний раз редактировалось Базиля; 17.06.2013 в 00:25. |
17.06.2013, 01:27 | #3 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
Модифицировал вариант Базили.
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
17.06.2013, 02:40 | #4 |
Участник клуба
Регистрация: 03.12.2009
Сообщений: 1,013
|
Идея по преобразованию кода хороша !
Спасибо за изменения! Позвольте немного прокомментирую. Дело в том, что если мы произведем смещение, то начнем отставать на 1 элемент, что в дальнейшем нам не даст сместить элемент корректно (к примеру последовательность - 1 2 3 3 2 3. Предпоследняя 2 будет удалена, замена произойдет 3 на 3, но не 3 на 2 ). И например последний элемент остается не тронутым при любых обстоятельствах (если он к примеру равен искомому значению). Конечно значение n изменится и мы не позволим себе тем самым обратиться к тем элементам, но сама задача, как таковая, не совсем до конца будет выполнена Ну это то что бросилось сейчас сразу в глаза. Спасибо! P.S. Код:
Последний раз редактировалось Базиля; 17.06.2013 в 02:43. |
17.06.2013, 05:01 | #5 |
C/C++, Java
Участник клуба
Регистрация: 28.03.2012
Сообщений: 1,680
|
Вообще хотелось бы конечно.... И вообще хотелось бы еще сделать перегрузку данной функции, если есть варианты, тоже не откажусь
А вообще мне оба Ваши варианта нравятся...
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости" Сложность - враг простоты и удобства! Последний раз редактировалось Bugrimov; 17.06.2013 в 05:14. |
17.06.2013, 09:17 | #6 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
17.06.2013, 09:21 | #7 |
C/C++, Java
Участник клуба
Регистрация: 28.03.2012
Сообщений: 1,680
|
BDA это именно то что нужно, а по поводу перегрузки сможете что-нибудь подсказать....
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости" Сложность - враг простоты и удобства! |
17.06.2013, 15:16 | #8 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
Чтобы перегрузить, нужно придумать, что перегружать.
Можно написать шаблон, чтобы функция работала для массивов, состоящих из любых типов. Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
17.06.2013, 15:32 | #9 |
C/C++, Java
Участник клуба
Регистрация: 28.03.2012
Сообщений: 1,680
|
Удаление элемента
BDA
Может передавать количество удаляемых элементов. Например удалять все 2 из массива и все 3. Как это можно реализовать? На сколько я понимаю перегрузка - это в общих чертах изменение количества параметров например или изменение возвращяемого значения (я имею в виду его тип). Поправьте меня если я ошибаюсь...
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости" Сложность - враг простоты и удобства! |
17.06.2013, 16:42 | #10 | |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
Код:
4 параметр - упорядоченные по возрастанию значения, которые нужно удалить из массива Цитата:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Удаление элемента из массива, C#. | umpik | Помощь студентам | 0 | 31.05.2013 02:14 |
Удаление элемента массива | LiuLiuJons | Общие вопросы C/C++ | 6 | 07.03.2012 23:38 |
удаление элемента массива | Studentka_iz_ZP | Общие вопросы C/C++ | 2 | 02.10.2010 13:55 |
Удаление элемента из массива | prostac | Помощь студентам | 2 | 30.09.2010 11:14 |
Удаление элемента из массива | Ozerich | PHP | 10 | 14.02.2009 02:21 |