Форум программистов, компьютерный форум CyberForum.ru

Нахождение уникальных элементов в массиве - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 30, средняя оценка - 4.63
Ксю92
 Аватар для Ксю92
73 / 7 / 0
Регистрация: 29.03.2011
Сообщений: 94
12.06.2012, 01:37     Нахождение уникальных элементов в массиве #1
Все приветики. Снова я
Что то не могу додуматься, как решить такую задачку...

Есть массив целых чисел (одномерный). Известно, что он упорядочен по возрастанию.. Значения в нем могут повторяться.. Надо вывести уникальные элементы..
Т.е. есть массив: 1 1 2 3 3 4 4 5 6 6 7 7 8 9 9 10
Тут уникальными являются значения 2, 5, 8, 10. т.к. они встречаются один раз.
На выходе должен быть массив 2 5 8 10 (даже достаточно просто вывести их сразу на экран, минуя всякие дополнительные массивы)

Заранее спасибки!

Не по теме:

Уважаемые модераторы! Я назвала тему, насколько хватило соображалки)) Если название некорректное, то не пинайте меня))

Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2012, 01:37     Нахождение уникальных элементов в массиве
Посмотрите здесь:

[C++] Нахождение всех чисел в массиве из 100 элементов попадающих в заданный интервал C++
C++ Нахождение номера столбца с максимальной серией одинаковых элементов в двумерном массиве
C++ количество уникальных симвлов массиве
Отсортировать массив и подсчитать количество уникальных чисел в массиве C++
C++ Найти сумму уникальных элементов массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
12.06.2012, 01:57     Нахождение уникальных элементов в массиве #2
Для элементов со второго по предпоследний всё просто: элемент является уникальным, если он больше предыдущего и меньше следующего. Для первого и последнего тоже просто, но требуется особое отношение, поскольку нет либо предыдущего, либо следующего.
Код писать? Вроде просто всё.
HelloWorld56
5 / 5 / 1
Регистрация: 29.03.2012
Сообщений: 62
12.06.2012, 02:07     Нахождение уникальных элементов в массиве #3
я бы так делал

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
for (int i = 0; i < size; i++)
{
    for (int i1 = 0; i1 < size; i1++)
{
     if (array1[i] == array1[i1])
{
        k++;
}
}
     if (k == 1)
         cout<<array1[i];
}
Ксю92
 Аватар для Ксю92
73 / 7 / 0
Регистрация: 29.03.2011
Сообщений: 94
12.06.2012, 02:36  [ТС]     Нахождение уникальных элементов в массиве #4
Цитата Сообщение от grizlik78 Посмотреть сообщение
Код писать? Вроде просто всё.
лучше напишите буду вам очень признательна))
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
12.06.2012, 02:42     Нахождение уникальных элементов в массиве #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
int main()
{
    int a[] = { 1, 1, 2, 3, 3, 4, 4, 5, 6, 6, 7, 7, 8, 9, 9, 10 };
    int const n = sizeof(a)/sizeof(*a);
 
    for (int i = 0; i < n; ++i)
        if ((i == 0 || a[i] > a[i-1]) && (i == n-1 || a[i] < a[i+1]))
            std::cout << a[i] << " ";
 
    return 0;
}
Ксю92
 Аватар для Ксю92
73 / 7 / 0
Регистрация: 29.03.2011
Сообщений: 94
12.06.2012, 02:50  [ТС]     Нахождение уникальных элементов в массиве #6
Спасибки Вам огромные!!
Yandex
Объявления
12.06.2012, 02:50     Нахождение уникальных элементов в массиве
Ответ Создать тему
Опции темы

Текущее время: 21:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru