Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
PinkCloud
0 / 0 / 0
Регистрация: 25.05.2017
Сообщений: 2
1

Найти количество различных элементов в одномерном массиве

25.05.2017, 19:35. Просмотров 471. Ответов 5
Метки нет (Все метки)

2 л.р. Найти количество различных элементов в одномерном массиве

Добавлено через 21 минуту
Считать массив динамическим
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2017, 19:35
Ответы с готовыми решениями:

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

Найти количество различных элементов в массиве.
Найти количество различных элементов в массиве.

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

Найти количество различных элементов в массиве
Дан целочисленный массив размера N, все элементы которого упоря-дочены (по возрастанию или по...

Найти количество различных элементов в массиве
Найти количество различных элементов в массиве.

5
MisterR
67 / 66 / 52
Регистрация: 28.10.2015
Сообщений: 388
Завершенные тесты: 3
25.05.2017, 19:46 2
Цитата Сообщение от PinkCloud Посмотреть сообщение
Найти количество различных элементов в одномерном массиве
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <map>
...
const int n = 10;
        int *arr = new int[n] {1,2,2,3,4,3,4,5,2,5};
        map<int, int> mp;
        for (size_t i = 0; i < n; i++)
        {
            mp[arr[i]]++;
        }
        int sum = 0;
        for(auto i :mp)
        {
            if (i.second == 1)
                sum++;
        }
        cout << sum << endl;
               delete[]arr;
0
Даценд
Модератор
Эксперт .NET
5301 / 4468 / 2870
Регистрация: 20.04.2015
Сообщений: 8,055
25.05.2017, 22:09 3
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <algorithm>
int main()
{
    const int n = 10;
    int *arr = new int[n] {3,2,2,3,4,1,4,5,2,5};
    std::sort(arr, arr+n);
    std::cout << std::unique(arr, arr+n) - arr;
    return 0;
}
0
MrGluck
Форумчанин
Эксперт CЭксперт С++
8142 / 4993 / 1436
Регистрация: 29.11.2010
Сообщений: 13,460
25.05.2017, 23:39 4
Даценд, лучше вектор. Или хотя бы память освободить
1
Даценд
Модератор
Эксперт .NET
5301 / 4468 / 2870
Регистрация: 20.04.2015
Сообщений: 8,055
26.05.2017, 11:00 5
MrGluck,
Спасибо. Не освобождать память - это моя традиционная ошибка. Можно сказать - фишка.
А вообще для динамических массивов использовать указатели на 0-й и n-й элементы вместо итераторов правильно/грамотно?
0
MrGluck
Форумчанин
Эксперт CЭксперт С++
8142 / 4993 / 1436
Регистрация: 29.11.2010
Сообщений: 13,460
26.05.2017, 11:21 6
Даценд, ну так итераторов для массива нет и другого способа, кроме как через указатели тоже. Вообщем для массивов использовать указатели и адресную арифметику - нормально. В книгах по STL в примерах такое дело используется.

Добавлено через 1 минуту
Но конечно, если есть возможность - лучше для массивов (статических) вызывать функции std::begin/std::cbegin и std::end/std::cend.
0
26.05.2017, 11:21
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.05.2017, 11:21

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Найти количество одинаковых элементов в одномерном массиве
Здравствуйте, как определить количество одинаковых элементов в строке, если предположем массив из 5...

Найти количество различных элементов в данном массиве
Дано целочисленный массив размера N. Найти количество различных элементов в данном массиве.

Найти количество различных элементов в данном массиве
4. Данный целочисленный массив размера N. Найти количество различных элементов в данном массиве.


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

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

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