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

В массиве найти все повторяющиеся числа - C++

Восстановить пароль Регистрация
 
Yuralug
1 / 1 / 0
Регистрация: 19.11.2014
Сообщений: 22
30.06.2015, 11:51     В массиве найти все повторяющиеся числа #1
В массиве нужно найти все числа, которые повторяются и вывести по одному разу и вывести в другой масив. Вся суть задачи в том, что описывать масивы можно лишь указателями. Помогите плис, без них сделаю легко, а вот тут запутался. Язык - С++.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2015, 11:51     В массиве найти все повторяющиеся числа
Посмотрите здесь:

найти повторяющиеся символы в массиве C++
C++ Найти все числа встречающиеся в массиве P строго два раза (не упорядочивая самого массива).
C++ Найти все простые числа в массиве и упорядочить их по возрастанию
C++ Массив: Удалить все повторяющиеся элементы, оставив в массиве только один.
Пожалуйста доделайте задачу (в массиве найти все числа,начинающихся с цифры выбранной пользователем) C++
C++ Найти все числа в массиве которые заканчиваются на число 47
C++ Найти повторяющиеся в массиве элементы
C++ Найти все числа, встречающиеся и в 1-м и во 2-м массиве

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5949 / 5554 / 1785
Регистрация: 18.12.2011
Сообщений: 14,193
Завершенные тесты: 1
30.06.2015, 11:56     В массиве найти все повторяющиеся числа #2
См. образец
Образцы (шаблоны) программ для типовых задач
Геомеханик
 Аватар для Геомеханик
517 / 324 / 253
Регистрация: 26.06.2015
Сообщений: 738
30.06.2015, 15:08     В массиве найти все повторяющиеся числа #3
Вот по простому накидал, без сортировки исходного массива и дополнительной памятью.

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
#include <iostream>
 
//наивный алгоритм сложностью O(n^2)
int* unique_cpy(int* d, const int* f, const int* l){
    const int* p;
    for(; f != l; ++f){
        p = f + 1;
        while((p < l) && (*p != *f))
            ++p;
        if(p >= l)
            *d++ = *f;
    }
    return d;
}
 
 
int main(void){
    int A[10] = { 1, 2, 1, 3, 5, 3, 3, 4, 4, 3 };
    int B[10];
 
    int* e = unique_cpy(B, A, A + sizeof(A)/sizeof(A[0]));
    for(int* p = &B[0]; p != e; ++p)
        std::cout << *p << ' ';
    return 0;
}
Результат работы кода
Yandex
Объявления
30.06.2015, 15:08     В массиве найти все повторяющиеся числа
Ответ Создать тему
Опции темы

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