Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
restarbit
0 / 0 / 0
Регистрация: 27.09.2013
Сообщений: 33
#1

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

02.10.2013, 12:29. Просмотров 754. Ответов 11
Метки нет (Все метки)

В целочисленном массиве нужно найти количество повторяющихся элементов. Как это сделать кто-то может подсказать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.10.2013, 12:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В целочисленном массиве найти количество повторяющихся элементов (C++):

В заданном целочисленном массиве найти количество уникальных элементов и сумму всех элементов - C++
В массиве, состоящем из п целых элементов, вычислить: - количество различных элементов; - сумму элементов массива, расположенных после...

Найти количество нулевых элементов в заданном целочисленном массиве - C++
Напишите программу, печатающую количество нулевых элементов в заданном целочисленном массиве.

Найти количество не повторяющихся элементов в массиве - C++
Знаю что условие в цикле не то, но больше в голову нечего не лезет. У кого идеи есть? #include <iostream> #include <conio.h> using...

В заданном целочисленном массиве определить количество уникальных элементов - C++
Дан массив a из n целых чисел. Требуется определить количество различных элементов.

В целочисленном массиве определить количество элементов отличных от последнего - C++
Помогите,пожалуйста, с задачей. В первой строке вводится число N (1<=N<=20) - количество элементов одномерного массива Во второй...

Количество повторяющихся элементов в массиве - C++
Программа считает количество повторяющихся элементов в массиве. Часть где вводится массив , необходимо реализовать как функцию. ...

11
xypc
10 / 8 / 1
Регистрация: 31.05.2013
Сообщений: 65
02.10.2013, 12:41 #2
повторяющихся определённых элементов или любых вместе взятых?
0
restarbit
0 / 0 / 0
Регистрация: 27.09.2013
Сообщений: 33
02.10.2013, 12:51  [ТС] #3
Цитата Сообщение от xypc Посмотреть сообщение
повторяющихся определённых элементов или любых вместе взятых?
если элемент повторяется хотябы 1 раз то он уже считается совпадением.
0
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?
0
chizz
981 / 496 / 54
Регистрация: 19.03.2013
Сообщений: 3,095
Записей в блоге: 18
Завершенные тесты: 1
02.10.2013, 12:54 #5
Массивы. Найти повторяющиеся элементы и количество повторений каждого из таких элементов

Поиск по форуму (форумам). Google Advanced Search.
0
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 минут
спасибо взял от туда одну функцию кое что поменял и все ок, четко работает
0
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.
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 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 ;
}
1
restarbit
0 / 0 / 0
Регистрация: 27.09.2013
Сообщений: 33
07.10.2013, 13:55  [ТС] #9
Croessmah

извините, я не знаком с такими фукциями, и не смогу ответь если мне зададут по ним вопрос. Попроще можно?
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 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
0
restarbit
0 / 0 / 0
Регистрация: 27.09.2013
Сообщений: 33
07.10.2013, 15:12  [ТС] #11
ссылка на тоже самое что вы написали... ничего не изменилось
0
Alexdemath
125 / 122 / 6
Регистрация: 11.04.2010
Сообщений: 255
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;
}
1
07.10.2013, 16:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.10.2013, 16:56
Привет! Вот еще темы с ответами:

Количество повторяющихся элементов в массиве - C++
Даны натуральное n и целые a1, a2, ..., an. Для каждого аi найти ki количество его повторов последовательности. P.S. нужно...

Посчитать максимальное количество подряд идущих отрицательных элементов в целочисленном массиве - C++
3) Посчитайте максимальное количество подряд идущих отрицательных элементов в целочисленном массиве длины 30.

Найти количество повторяющихся в массиве цифр - C++
Помогите у меня задача:&quot;Мади подарили новый блокнот. Ему очень понравился подарок, но единственное, что его смутило, это то, что страницы...

В целочисленном одномерном массиве найти сумму всех нечетных элементов - C++
Помогите! Помогите! Хулиганы меня отчисляют!:cry:


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru