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

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

Восстановить пароль Регистрация
 
restarbit
0 / 0 / 0
Регистрация: 27.09.2013
Сообщений: 33
02.10.2013, 12:29     В целочисленном массиве найти количество повторяющихся элементов #1
В целочисленном массиве нужно найти количество повторяющихся элементов. Как это сделать кто-то может подсказать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.10.2013, 12:29     В целочисленном массиве найти количество повторяющихся элементов
Посмотрите здесь:

C++ найти количество повторяющихся в массиве цифр C++
В целочисленном массиве, сгенерированным случайным образом, найти наименьший из положительных элементов. C++
В целочисленном массиве найти наиболее длинную цепочку одинаковых подряд стоящих элементов C++
количество повторяющихся элементов в массиве C++
В целочисленном массиве из 10 элементов найти максимальный элемент и заменить все элементы, значения которых нечетные на полученное значение максималь C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xypc
10 / 8 / 1
Регистрация: 31.05.2013
Сообщений: 65
02.10.2013, 12:41     В целочисленном массиве найти количество повторяющихся элементов #2
повторяющихся определённых элементов или любых вместе взятых?
restarbit
0 / 0 / 0
Регистрация: 27.09.2013
Сообщений: 33
02.10.2013, 12:51  [ТС]     В целочисленном массиве найти количество повторяющихся элементов #3
Цитата Сообщение от xypc Посмотреть сообщение
повторяющихся определённых элементов или любых вместе взятых?
если элемент повторяется хотябы 1 раз то он уже считается совпадением.
xypc
10 / 8 / 1
Регистрация: 31.05.2013
Сообщений: 65
02.10.2013, 12:54     В целочисленном массиве найти количество повторяющихся элементов #4
так, то есть смотри, если есть такое дело:

1 2 3 1 1 3 2 4 5 6 7 7, то здесь повторяющихся элементов 9 или 4?
chizz
 Аватар для chizz
975 / 489 / 54
Регистрация: 19.03.2013
Сообщений: 3,047
Записей в блоге: 18
Завершенные тесты: 1
02.10.2013, 12:54     В целочисленном массиве найти количество повторяющихся элементов #5
Массивы. Найти повторяющиеся элементы и количество повторений каждого из таких элементов

Поиск по форуму (форумам). Google Advanced Search.
restarbit
0 / 0 / 0
Регистрация: 27.09.2013
Сообщений: 33
02.10.2013, 13:47  [ТС]     В целочисленном массиве найти количество повторяющихся элементов #6
Цитата Сообщение от xypc Посмотреть сообщение
так, то есть смотри, если есть такое дело:

1 2 3 1 1 3 2 4 5 6 7 7, то здесь повторяющихся элементов 9 или 4?
Ответ 4

Добавлено через 50 минут
спасибо взял от туда одну функцию кое что поменял и все ок, четко работает
restarbit
0 / 0 / 0
Регистрация: 27.09.2013
Сообщений: 33
07.10.2013, 13:21  [ТС]     В целочисленном массиве найти количество повторяющихся элементов #7
Цитата Сообщение от xypc Посмотреть сообщение
так, то есть смотри, если есть такое дело:

1 2 3 1 1 3 2 4 5 6 7 7, то здесь повторяющихся элементов 9 или 4?
Ответ 4.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11817 / 6796 / 769
Регистрация: 27.09.2012
Сообщений: 16,867
Записей в блоге: 2
Завершенные тесты: 1
07.10.2013, 13:45     В целочисленном массиве найти количество повторяющихся элементов #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
На коленке:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <vector>
#include <iterator>
#include <map>
#include <algorithm>
#include <functional>
     
template < typename T >
bool pred_map ( const T & value ) {
    return value.second > 1 ;
}
     
int main() {
    std :: vector < int > vec ( std :: istream_iterator < int > ( std :: cin ) , std :: istream_iterator < int > ( ) ) ;
    std :: map < int , size_t > intMap ;
    for ( auto & x : vec )
        intMap [ x ] += 1 ;
    std :: cout << std :: count_if ( intMap.begin ( ) , intMap.end ( ) , pred_map < std :: pair < int , size_t > > ) << std :: endl ;
}
restarbit
0 / 0 / 0
Регистрация: 27.09.2013
Сообщений: 33
07.10.2013, 13:55  [ТС]     В целочисленном массиве найти количество повторяющихся элементов #9
Croessmah

извините, я не знаком с такими фукциями, и не смогу ответь если мне зададут по ним вопрос. Попроще можно?
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11817 / 6796 / 769
Регистрация: 27.09.2012
Сообщений: 16,867
Записей в блоге: 2
Завершенные тесты: 1
07.10.2013, 14:29     В целочисленном массиве найти количество повторяющихся элементов #10
Не тестировал:
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>
     
     
bool findElement ( int * arr , int * arrEnd , int value) {
    for ( ; arr != arrEnd ; ++arr )
        if ( *arr == value )
            return true ;
    return false ;
}
     
int get_count ( int * arr , int size ) {
    int count = 0 ;
    for ( int * currentElement = arr , * endElement = arr + size ; currentElement != endElement ; ++ currentElement ) {
        if ( ! findElement ( currentElement + 1 , endElement , *currentElement ) && findElement ( arr , currentElement , *currentElement ) ) {
            ++count ;
        }
    }
    return count ;
}
     
int main() {
    const int size = 12 ;
    int arr [ size ] = { 1 , 2 , 3 , 1 , 1 , 3 , 2 , 4 , 5 , 6 , 7 , 7 } ;
    std :: cout << get_count ( arr , size ) << std :: endl ;
}
Добавлено через 3 минуты
http://ideone.com/foz0Jh
restarbit
0 / 0 / 0
Регистрация: 27.09.2013
Сообщений: 33
07.10.2013, 15:12  [ТС]     В целочисленном массиве найти количество повторяющихся элементов #11
ссылка на тоже самое что вы написали... ничего не изменилось
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.10.2013, 16:56     В целочисленном массиве найти количество повторяющихся элементов
Еще ссылки по теме:

Количество повторяющихся элементов в массиве C++
В целочисленном массиве найти наибольший элемент среди элементов меньше своих соседей C++
В целочисленном одномерном массиве найти сумму всех нечетных элементов C++

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

Или воспользуйтесь поиском по форуму:
Alexdemath
 Аватар для Alexdemath
125 / 122 / 6
Регистрация: 11.04.2010
Сообщений: 253
07.10.2013, 16:56     В целочисленном массиве найти количество повторяющихся элементов #12
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от restarbit Посмотреть сообщение
В целочисленном массиве нужно найти количество повторяющихся элементов. Как это сделать кто-то может подсказать?
Так пойдёт?

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
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(0,"");
 
    int a[14] = {1,1,7,2,3,1,1,3,2,4,5,6,7,7},
        n = 14, b[14], m = 0;
 
    cout << "Вход:\n" << endl;
    for (int i = 0; i < n; i++) cout << a[i] << "  ";
    cout << "\n" << endl;
 
    for (int i = 0; i < n-1; i++)         // Поиск элементов, имеющих
     { int ai = a[i], j = i+1, k = 0;     //  хотя бы один дубль
       while (j < n && a[j] != ai) j++; 
       while (k < m && b[k] != ai) k++;
       if (j != n && k == m) b[m++] = ai;
     }
 
    setlocale(0,"");
    cout << "Элементы, имеющие дубли:\n" << endl;
    for (int i = 0; i < m; i++) cout << b[i] << "  ";
    cout << "\n" << endl;
    cout << "Количество элементов, имеющих дубли: " << m << "\n" << endl;
 
    return 0;
}
Yandex
Объявления
07.10.2013, 16:56     В целочисленном массиве найти количество повторяющихся элементов
Ответ Создать тему
Опции темы

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