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

Посчитать количество различных элементов в массиве

21.12.2011, 14:49. Просмотров 4772. Ответов 4
Метки нет (Все метки)

Дан линейный массив целых чисел ввести с клавиатуры не менее 10 элементов и посчитать сколько в нем различных чисел .

помогите решить

 Комментарий модератора 
Во-первых, какое отношение ваша задача имеет конкретно к Visual C++? И во-вторых, не надо лезть со своими задачами в чужие темы, тем более, что обсуждаемые там вопросы никак не соотносятся с вашим.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2011, 14:49
Ответы с готовыми решениями:

Посчитать количество различных значений в массиве
Дан одномерный массив A. Посчитать количество различных значений в этом массиве.

Посчитать количество различных элементов массива
Собственно задача обозначена в заглавии темы. НЕ могу понять что неправильно в моем говнокоде...

Количество различных элементов в монотонном массиве
Формат входных данных: Сначала задано число N - количество элементов в массиве (N не превосходит...

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

Количество различных элементов в монотонном массиве
Формат входных данных Сначала задано число N - количество элементов в массиве (N не превосходит...

4
-=ЮрА=-
Заблокирован
Автор FAQ
21.12.2011, 15:08 2
Цитата Сообщение от Светлана_333 Посмотреть сообщение
Дан линейный массив целых чисел ввести с клавиатуры не менее 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
26
27
28
29
30
31
32
33
#include <iostream>
using namespace std;
 
int main()
{
    cout<<"Enter num of elements : ";
    int i,j,n;cin>>n;
    int * arr = new int[n];
    for(i = 0; i < n; i++)
    {
        cout<<"arr["<<i + 1<<"] = ";
        cin>>arr[i];
    }
    int nCount    = 0;
    int nDiferent = 0;
    for(i = 0; i < n; i++)
    {
        nCount = 0;
        for(j = 0; j < n; j++)
        {
            if(arr[i] == arr[j])
                nCount++;
        }
        if(1 < nCount)
            nDiferent++;
    }
    if(nDiferent < 1)
        cout<<"All elemnts in array is same!\n";
    else
        cout<<"Number of diferent elements is : "<<nDiferent<<endl;
    system("pause");
    return 0;
}
Enter num of elements : 11
arr[1] = 1
arr[2] = 5
arr[3] = 6
arr[4] = 5
arr[5] = 3
arr[6] = 1
arr[7] = 8
arr[8] = 5
arr[9] = 2
arr[10] = 0
arr[11] = 14
Number of diferent elements is : 5
Для продолжения нажмите любую клавишу . . .

Добавлено через 3 минуты
PS:Светлана_333, по правилам форума вы должны создавать тему в отдельном топике, тогда кроме ответчиков данного топика он будет виден всем пользователям и помочь вам сможет больше людей. Внимательно ознакомтесь с правилами форума
0
oxotnik
1632 / 1105 / 75
Регистрация: 21.08.2008
Сообщений: 4,628
Записей в блоге: 1
21.12.2011, 15:15 3
-=ЮрА=-, это все решается в 2 (условно) строки через std::set
0
-=ЮрА=-
21.12.2011, 15:27
  #4

Не по теме:

Цитата Сообщение от oxotnik Посмотреть сообщение
-=ЮрА=-, это все решается в 2 (условно) строки через std::set
- и???Я ответил ТС на основе его уровня, притом голые алгоритмы часто не понятны присутвующему здесь народу, если есть желание блеснуть знаниями лучше сюда;)
Вывести цифры треугольником
буду с нетерпением ждать высокоуровневого решения - чесн слово!!!

0
silent_1991
Эксперт С++
5013 / 3073 / 271
Регистрация: 11.11.2009
Сообщений: 7,045
Завершенные тесты: 1
28.12.2011, 06:12 5
Если интересен вариант с std::set:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <set>
#include <algorithm>
#include <iterator>
 
template<typename T>
size_t diff_elems_num(T *arr, size_t size)
{
    return std::set<T>(arr, arr + size).size();
}
 
int main()
{
    int arr[10];
 
    std::cout << "Enter 10 numbers: ";
    std::copy(std::istream_iterator<int>(std::cin), std::istream_iterator<int>(), arr);
 
    std::cout << "Number of difference elements: " << diff_elems_num(arr, 10) << std::endl;
 
    return 0;
}
0
28.12.2011, 06:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.12.2011, 06:12

Вывести количество различных элементов в массиве
Дан массив из n чисел. Необходимо вывести количество различных элементов в массиве. Формат...

Количество различных элементов в монотонном массиве
Пожалуйста помогите решить сначала задано N - количество элементов в массиве (N не превосходит...

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


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

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

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