Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.72/29: Рейтинг темы: голосов - 29, средняя оценка - 4.72
0 / 0 / 3
Регистрация: 09.02.2015
Сообщений: 79
1

Определить, сколько в списке встречается различных чисел (используя map)

23.04.2018, 22:45. Показов 5679. Ответов 4
Метки нет (Все метки)

Помогите пожалуйста.
Задание 1
Дан список целых чисел, который может содержать до 100000 чисел. Определите, сколько в нем встречается различных чисел.
Входные данные
Вводится число N - количество элементов списка, а затем N чисел.
Выходные данные
Выведите ответ на задачу.
Sample Input:
5
1 2 3 2 1
Sample Output:
3
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
#include "stdafx.h"
#include <iostream>
#include <map>
 
using namespace std;
 
int main()
{
 
 
    int count; 
    int b; 
    map<int, int>m;
                    
    cin >> count;
 
    while (count > 0 && cin >> b) 
    {   
        for (int i = 0; i < count; i++) {
            m[i] = b;
        }
        
        --count;
    }
 
    cout << m.size() << endl;
 
 
 
 
    system("pause");
}
как вывести кол-во различных чисел, у меня показывает всегда число равное счетчику
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.04.2018, 22:45
Ответы с готовыми решениями:

Определить, сколько в списке встречается различных чисел
Дан список чисел, который может содержать до 100000 чисел. Определите, сколько в нем встречается...

Определите, сколько в списке встречается различных чисел
Дан список чисел, который может содержать до 100000 чисел. Определите, сколько в нем встречается...

Подсчитать, сколько чисел содержится одновременно как в первом списке, так и во втором (используя std::map)
Даны два списка чисел, которые могут содержать до 100000 чисел каждый. Посчитайте, сколько чисел...

Определить, сколько различных чисел встречается в десятичной записи данного натурального числа
Дано натуральное число N. Определить, сколько различных чисел встречается в его десятичной записи....

4
1362 / 999 / 316
Регистрация: 28.07.2012
Сообщений: 2,764
23.04.2018, 22:52 2

Не по теме:


Тут было чутка бреда



Тьфу, ты вообще не по назначению применил словарь. Для этой задачи лучше подойдет std::set.
1
0 / 0 / 3
Регистрация: 09.02.2015
Сообщений: 79
23.04.2018, 22:54  [ТС] 3
nonedark2008, тут именно с map нужно
я правильно понимаю, нужно if поставить перед уменьшением счетчика и делать проверку? или как
0
1362 / 999 / 316
Регистрация: 28.07.2012
Сообщений: 2,764
23.04.2018, 22:59 4
Лучший ответ Сообщение было отмечено invzful как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <set>
 
using namespace std;
 
int main()
{
    int count;
    int b;
    set<int> s;
 
    cin >> count;
 
    while (count > 0 && cin >> b)
    {
        s.insert(b);
        --count;
    }
 
    cout << s.size() << endl;
 
    system("pause");
}
Добавлено через 4 минуты
Цитата Сообщение от invzful Посмотреть сообщение
правильно понимаю
Внутри std::set храняться только уникальные значения. Загнав все имеющиеся числа внутрь, останутся только различные числа. Тоже самое можно провернуть с ключами std::map, однако помимо ключей, там хранятся еще и значения, которые для текущей задачи совсем не нужны.
2
0 / 0 / 3
Регистрация: 09.02.2015
Сообщений: 79
23.04.2018, 23:44  [ТС] 5
nonedark2008, спасибо за наводку про ключи, поменял местами i и b в 20 строке и все заработало
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.04.2018, 23:44

Дан список чисел, который может содержать до 100000 чисел. Определите, сколько в нем встречается различных чисел
Помогите решить задачу, пожалуйста. Дан список чисел, который может содержать до 100000 чисел....

Определить, сколько в списке различных элементов
Дан список, упорядоченный по неубыванию элементов в нем. Определите, сколько в нем различных...

Определить, сколько различных символов встречается в тексте
Составьте программу, определяющую, сколько различных символов встречается в тексте.

Определить, сколько различных символов встречается в строке
разработать программу, которая для заданной строки s которая определяет, сколько различных символов...


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

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

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