|
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 71
|
||||||
Как удалить повторяющиеся элементы динамического массива?25.06.2013, 10:38. Показов 26992. Ответов 14
Метки нет (Все метки)
Массиву меняем размер равный количеству заполненных ячеек в столбце "А", на листе2!
Нужно удалить повторяющиеся значения! Вот часть кода для заполнения массива.
0
|
||||||
| 25.06.2013, 10:38 | |
|
Ответы с готовыми решениями:
14
Из массива z(15) удалить все повторяющиеся элементы Из массива Z[15] вещественных чисел удалить все повторяющиеся элементы Как удалить из массива повторяющиеся элементы |
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
|
| 25.06.2013, 10:49 | |
|
Не нужно заполнять повторяющимися, тогда и не надо удалять.
В 2010 часто применяют Advanced Filter. Можно через словарь. Но нужно смотреть по набору конкретных критериев.
0
|
|
|
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 71
|
||
| 25.06.2013, 10:57 [ТС] | ||
|
0
|
||
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
||||||||||||
| 25.06.2013, 12:28 | ||||||||||||
|
Они, вобщем, правы. Удалить всегда легко.
![]() Тогда отсортируйте, и идите снизу вверх. Что-то так:
![]() Добавлено через 49 минут Я Вам неправильно сказал. Спутал удалени (тогда снизу) с копированием (тогда не обязательно). Потому на перекуре сделал. Будьте внимательные. Что б ст.А не изменился - я его залил в ст.С (у Вам там могут быть данные - тогда поменяйте). Дальше работаю с ст.С и результат - тоже в ст.С. !!! Но как это долго и неинтересно !!! ![]()
Армагедон! Я строчку пропустил. Что-то у меня с утра получается не на те педали нажимать! Ниже .Sort .Cells(1),... вставьте:
0
|
||||||||||||
|
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
|
|
| 25.06.2013, 18:28 | |
|
Как-то глупо всё... Это не относится к коду Игоря
![]() Как это "через массив"? Цикл в цикле каждое новое проверять - а не было ли уже взято? Проще и быстрее набрать словарь, затем ключи использовать как уже готовый массив. Или перебром набрать коллекцию (с ключами), затем объявить какой нужно массив и переложить. Добавлено через 4 минуты Или взять всё в массив (без перебора), объявить такой же пустой, перебором отобрать уникальные, используя как индикатор словарь или коллекцию, выгрузить полученное на лист (в зависимости от задачи весь или заполненную часть, на новое место или поверх исходных данных).
0
|
|
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
|
| 25.06.2013, 19:51 | |
|
Нет, это не удачно. Можно договориться, что и редактора нет.
И вобще для расчетов нужно ручку крутить. Вот для такого простого - достаточно Advanced Filter больше чем аж-аж - спорить тяжело. Скорее, преподы немного не додумали с примером (или сходу - бабах!)Добавлено через 7 минут Еще раз посмотрел условие. Если там самое главное именно удалить, тогда, Trojan52, извиняюсь. Сейчас что-то придумаем.
0
|
|
|
Супер-модератор
|
||
| 25.06.2013, 20:00 | ||
|
А теоретический вопрос остается: какова вычислительная сложность алгоритма, который из входного потока целых запоминает уникальные? Если запоминать все, потом сортировать и выбрасывать, то O(n2). Можно проверять каждый приходящий элемент на уникальность. Какова сложность в этом случае? Тоже O(n2) или меньше?
0
|
||
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
||||||
| 25.06.2013, 20:09 | ||||||
|
Синтетика... Болезненное это какое-то (мой вариант с удалением)...
0
|
||||||
|
Супер-модератор
|
|
| 25.06.2013, 20:09 | |
|
Первый пришедший элемент сравнивать ни с чем не нужно, второй элемент - одно сравнение, третий - 2 сравнения и т.д. Общее число сравнений 1+2+3+...(n-1)=(n-1)*n/2 что тоже дает O(n2).
0
|
|
|
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
|
|
| 25.06.2013, 20:11 | |
|
Я не знаю, я практик
![]() Если нет словаря - используем коллекцию. Уж она то есть всегда.
0
|
|
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
|
| 25.06.2013, 20:14 | |
|
Заинтриговали. Но не понял "...второй элемент - одно сравнение, третий - 2 сравнения..." Или Вы имеете ввиду не удаление, а запись в массив?
0
|
|
|
Супер-модератор
|
||||||
| 25.06.2013, 20:18 | ||||||
|
Удаление из массива дубликатов:
1
|
||||||
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
|
| 25.06.2013, 20:28 | |
Совсем другое дело! Но все-таки массив, не удаление.
1
|
|
|
Супер-модератор
|
|
| 25.06.2013, 20:36 | |
|
Да сложность-то квадратичная...
0
|
|
| 25.06.2013, 20:36 | |
|
Помогаю со студенческими работами здесь
15
Как удалить из массива повторяющиеся элементы? Как удалить из исходного массива не повторяющиеся элементы? Заменить на 0 все повторяющиеся элементы динамического массива Как удалить повторяющиеся элементы с массива и вывести их на экран Как удалить элементы динамического массива, а не сам массив? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|