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

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

Войти
Регистрация
Восстановить пароль
 
VAAADIM
2 / 2 / 1
Регистрация: 14.10.2013
Сообщений: 47
#1

Строка: В строке символов, вводимой с клавиатуры, вычислить количество разных цифр. - C++

14.10.2013, 00:26. Просмотров 471. Ответов 3
Метки нет (Все метки)

Пожалуйста, помогите решить задачу.

В строке символов вводимой с клавиатуры, вычислить количество разных цифр.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.10.2013, 00:26     Строка: В строке символов, вводимой с клавиатуры, вычислить количество разных цифр.
Посмотрите здесь:

Вывести на экран количество цифр в строке, введенной с клавиатуры C++
C++ строка. Определить количество цифр в строке символов.
C++ Составить программу для вычисления количества арабских цифр в введенном с клавиатуры строке символов
C++ Найти количество цифр в строке символов, используя функции
Подсчитать в вводимой строке количество введенных символов, отличных от пробела. C++
C++ Строка символов вводимая с клавиатуры, найти в строке наибольшее число
Подсчитать количество символов в строке (строка кончается элементом 0) C++
C++ Найти количество цифр в строке, введенной с клавиатуры
C++ В строке определить количество цифр и общую сумму символов
Почему не считает количество символов во вводимой строке? C++
C++ Строка: Вывести общее количество цифр и букв в заданной пользователем строке

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6350 / 2997 / 296
Регистрация: 04.12.2011
Сообщений: 8,043
Записей в блоге: 3
14.10.2013, 01:31     Строка: В строке символов, вводимой с клавиатуры, вычислить количество разных цифр. #2
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
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
int main()
{
SetConsoleCP (1251); SetConsoleOutputCP (1251);
string source;
cout << "Введите строку содержащую цифры ";
cin >> source;
int sz = source.size();
int cnt=0;
for( int i = 0; i < sz; ++i)if(isdigit(source[i])) cnt++;
int *nubers = new int[cnt];
int *repeats = new int[cnt];
for( int i = 0; i < sz; ++i)repeats[i]=0;
for( int i = 0; i < sz; ++i)if(isdigit(source[i]))nubers[i]=source[i];
for( int i = 0; i < sz; ++i)
for( int j = 0; j < sz; ++j){
if(source[i]==source[j])repeats[i]++;
}
cnt=0;
for( int i = 0; i < sz; ++i) if(repeats[i]==1) cnt++;
cout<<"Найдено "<<cnt<<" различных цифр"<<endl;
system("pause"); 
    return 0;
    }
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6228 / 3473 / 425
Регистрация: 29.11.2010
Сообщений: 9,179
14.10.2013, 01:43     Строка: В строке символов, вводимой с клавиатуры, вычислить количество разных цифр. #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
#include <algorithm>
#include <cctype>
#include <set>
 
int main()
{
    std::string str;
    std::getline(std::cin, str);
    std::set<char> s(str.begin(), str.end());
    std::cout << std::count_if(s.begin(), s.end(),
        [](const char x) { return isdigit(x); } ) << std::endl;
}
Добавлено через 2 минуты
Я бы даже сказал, что std::unordered_set тут был бы уместнее
IGPIGP
14.10.2013, 13:43     Строка: В строке символов, вводимой с клавиатуры, вычислить количество разных цифр.
  #4

Не по теме:

Поглядим, что [ТС] нужно. Можно бы функцией is_jigit() (из старой кавказской библиотеки)) воспользоваться.

Yandex
Объявления
14.10.2013, 13:43     Строка: В строке символов, вводимой с клавиатуры, вычислить количество разных цифр.
Ответ Создать тему
Опции темы

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