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

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

18.09.2012, 19:30. Показов 2333. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нуждаюсь в совете мудрых . . .

2)Дан целочисленный массив размера N. Удалить из массива все соседние одинаковые элементы, оставив их первые вхождения.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.09.2012, 19:30
Ответы с готовыми решениями:

Удалить из массива все соседние одинаковые элементы, оставив их первые вхождения
const n=10; type vect=array of integer; var i,k:integer; r:vect; begin randomize; for i:=1...

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

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

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

2
Эксперт Java
4093 / 3827 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
19.09.2012, 12:45 2
Лучший ответ Сообщение было отмечено Serega@93-93 как решение

Решение

Например так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
    private static IEnumerable<T> OnePerGroup<T>(this IEnumerable<T> source)
    {
        T prev = default(T);
        bool isFirst = true;
        foreach (T next in source)
        {
            if (isFirst)
            {
                prev = next;
                isFirst = false;
                yield return next;
            }
            else
            {
                if (!prev.Equals(next))
                {
                    prev = next;
                    yield return next;
                }
            }
        }
    }
 
    public static void Main()
    {
        int[] arr = {1, 1, 2, 3, 3, 3, 3, 4, 5, 9, 9, 0};
        arr = arr.OnePerGroup().ToArray();
        foreach (int i in arr)
        {
            Console.WriteLine(i);
        }
    }
http://ideone.com/ygRPk
0
1 / 1 / 0
Регистрация: 13.02.2012
Сообщений: 120
19.09.2012, 17:25  [ТС] 3
Данная программа не работает - 5 ошибок при попытке запуска. И ещё такой вопрос, возможно ли реализовать данную программу более простыми методами(без OnePerGroup, yield, Equals - не понятно что это и как работает)я пробовал, но что-то не удалось.
0
19.09.2012, 17:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.09.2012, 17:25
Помогаю со студенческими работами здесь

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

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

Из заданного целочисленного массива удалить все повторяющиеся элементы, оставив только их первые вхождения
Помогите составить программу на С++. Из заданного целочисленного массива удалить все повторяющиеся...

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


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

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