Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 03.09.2016
Сообщений: 28
1

Удалить из списка повторящиеся элементы, не оставив копий

11.09.2016, 09:53. Показов 472. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как удалить дубликаты я понимаю, .Distinct именно это и делает. Но всё равно остаётся один элемент. А как удалить и его тоже?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.09.2016, 09:53
Ответы с готовыми решениями:

Удалить первый элемент «списка», оставив заголовок.
Составить оператор ISERT_IN_i, который добавляет элемент в позицию i «списка». Удалить первый...

Удалить из массива повторяющиеся элементы,оставив их первое вхождение
Удалить из массива все повторяющиеся элементы, оставив их первые вхождения, то есть в массиве...

Удалить из массива повторяющийся элементы,оставив только из первые вхождения
Удалить из массива повторяющийся элементы,оставив только из первые вхождения

Удалить из массива все одинаковые элементы, оставив их последние вхождения
Дано целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их...

6
153 / 153 / 56
Регистрация: 20.12.2011
Сообщений: 1,614
11.09.2016, 10:38 2
plxna2, можно пример вашего кода?
0
6222 / 2469 / 726
Регистрация: 11.04.2015
Сообщений: 3,989
Записей в блоге: 43
11.09.2016, 11:38 3
C#
1
2
3
4
            int[] arr = { 1,2,3,4,4,6,7,2,3 };
            var m = arr.Where(i => arr.Count(ii => ii == i) > 1);
            var result = arr.Except(m);
            Console.WriteLine(string.Join(" ", result));
0
269 / 253 / 186
Регистрация: 28.10.2015
Сообщений: 723
11.09.2016, 14:20 4
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System;
using System.Linq;
using System.Collections.Generic;
 
class Program
{
    public static void Main()
    {
        List<int> lst = new List<int> { 1, 2, 3, 4, 5, 1, 3, 5 };
        Dictionary<int, bool> isUnique = new Dictionary<int, bool>(lst.Count);
        foreach (int i in lst)
        {
            isUnique[i] = !isUnique.ContainsKey(i);
        }
        Console.WriteLine(String.Join(", ", lst.Where(x => isUnique[x])));
    }
}
0
418 / 316 / 241
Регистрация: 29.05.2010
Сообщений: 796
Записей в блоге: 1
11.09.2016, 14:28 5
diadiavova, зачем Except?
C#
1
2
            var m = arr.Where(i => arr.Count(ii => ii == i)==1);
            Console.WriteLine(string.Join(" ", m));
0
6222 / 2469 / 726
Регистрация: 11.04.2015
Сообщений: 3,989
Записей в блоге: 43
11.09.2016, 14:35 6
Цитата Сообщение от kypiwindy Посмотреть сообщение
зачем Except?
Задача в том, чтобы удалить все эти элементы, а в твоем случае только находится коллекция элементов, которые имеют дубликаты. То есть, если в первоначальной коллекции есть две единицы, то их надо удалить обе.
0
418 / 316 / 241
Регистрация: 29.05.2010
Сообщений: 796
Записей в блоге: 1
11.09.2016, 14:42 7
Цитата Сообщение от diadiavova Посмотреть сообщение
Задача в том, чтобы удалить все эти элементы
Так это и делается
Цитата Сообщение от diadiavova Посмотреть сообщение
только находится коллекция элементов, которые имеют дубликаты
да ладно

C#
1
2
3
 int[] arr = { 1,1,2,2,3,3,3,7,0};
            var m = arr.Where(i => arr.Count(ii => ii == i) == 1);
            Console.WriteLine(string.Join(" ", m));
//7,0
1
11.09.2016, 14:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.09.2016, 14:42
Помогаю со студенческими работами здесь

Удалить из массива все одинаковые элементы, оставив их первые вхождения
Дан целочисленный массив размером N. Удалить из массива все одинаковые элементы, оставив их первые...

Удалить из массива все одинаковые элементы, оставив их первые вхождения
Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их первые...

Удалить из массива повторяющиеся элементы, оставив только их первые вхождения
Как мне удалять повторяющийся элемент? #include &lt;iostream&gt; using namespace std; int main ()...

Удалить все различные элементы массива, оставив только повторяющиеся
Удалить все различные элементы массива, оставив только повторяющиеся. То есть пользователь задаёт...

Удалить все повторяющиеся элементы массива, оставив их первые вхождения
Вот условие:Удалить все повторяющиеся элементы,оставив их первые вхождения,то есть в массиве должны...

Удалить из массива все одинаковые элементы, оставив их последние вхождения
Можете подсказать на счет одной задачи пожалуйста, просто если я пойму эту задачу, то я смогу...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru