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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.69
Светлана_333
1 / 1 / 0
Регистрация: 21.12.2011
Сообщений: 5
#1

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

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

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

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

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

Найти количество различных элементов в массиве. C++
Посчитать количество различных значений в массиве C++
Количество различных элементов в монотонном массиве C++
Подсчитать количество различных по значению элементов в массиве C++
C++ Найти количество различных элементов в массиве
Количество различных элементов в монотонном массиве C++
C++ Количество различных элементов в монотонном массиве
C++ Найти количество различных элементов в массиве
Посчитать количество различных элементов массива C++
Найти количество различных элементов в данном массиве C++
C++ Определить количество различных элементов в массиве
Найти количество различных элементов в массиве C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор 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, по правилам форума вы должны создавать тему в отдельном топике, тогда кроме ответчиков данного топика он будет виден всем пользователям и помочь вам сможет больше людей. Внимательно ознакомтесь с правилами форума
oxotnik
1586 / 1063 / 33
Регистрация: 21.08.2008
Сообщений: 4,545
Записей в блоге: 1
21.12.2011, 15:15     Посчитать количество различных элементов в массиве #3
-=ЮрА=-, это все решается в 2 (условно) строки через std::set
-=ЮрА=-
21.12.2011, 15:27
  #4

Не по теме:

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

silent_1991
Эксперт С++
4956 / 3032 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 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;
}
Yandex
Объявления
28.12.2011, 06:12     Посчитать количество различных элементов в массиве
Ответ Создать тему
Опции темы

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