Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2014, 01:47   #1
FtorKlork
Пользователь
 
Регистрация: 28.11.2014
Сообщений: 10
Вопрос Сколько раз встречается max цифра // C++

Дано натуральное число. Определить, сколько раз в нем встречается
максимальная цифра (например, для числа 362266 ответ равен 3,, для числа 32421 - 1)
Я так понял тут нужен цикл while/ Но как его реализовать не совсем понятно. Подскажите пожалуйста
FtorKlork вне форума Ответить с цитированием
Старый 28.11.2014, 03:13   #2
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,618
По умолчанию

Код:
stringstream sstr;
string str;
int num;

num = 362266;
sstr << num;
sstr >> str;

std::cout << std::count(str.begin(), str.end(), *std::max_element(str.begin(), str.end()));
Схематично так...

http://www.cplusplus.com/reference/a...m/max_element/
http://www.cplusplus.com/reference/algorithm/count/
rrrFer вне форума Ответить с цитированием
Старый 28.11.2014, 22:20   #3
FtorKlork
Пользователь
 
Регистрация: 28.11.2014
Сообщений: 10
По умолчанию

Цитата:
Сообщение от rrrFer Посмотреть сообщение
Код:
stringstream sstr;
string str;
int num;

num = 362266;
sstr << num;
sstr >> str;

std::cout << std::count(str.begin(), str.end(), *std::max_element(str.begin(), str.end()));
Схематично так...

http://www.cplusplus.com/reference/a...m/max_element/
http://www.cplusplus.com/reference/algorithm/count/
Я строки еще не изучал. Другим способом нельзя сделать это ? По чайниковски
FtorKlork вне форума Ответить с цитированием
Старый 28.11.2014, 22:40   #4
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,618
По умолчанию

можно, но ИМХО сложнее.

Код:
int a = 123;

int b;

b = a % 10; // b = 3
a /= 10; //a = 12

b = a % 10; // b = 2
a /= 10; //a = 1

b = a % 10; // b = 1
a /= 10; //a = 0
запихай это в цикл - получишь цифры числа. Ищешь среди них максимальное, потом в еще одном цикле считаешь количество максимальных.

Можно все в один цикл запихать, в принципе - изменилось максимальное число - обнулил счетчик. Нашел число, совпадающее с максимальным - увеличил счетчик.
rrrFer вне форума Ответить с цитированием
Старый 29.11.2014, 01:30   #5
FtorKlork
Пользователь
 
Регистрация: 28.11.2014
Сообщений: 10
По умолчанию

Цитата:
Сообщение от rrrFer Посмотреть сообщение
можно, но ИМХО сложнее.

Код:
int a = 123;

int b;

b = a % 10; // b = 3
a /= 10; //a = 12

b = a % 10; // b = 2
a /= 10; //a = 1

b = a % 10; // b = 1
a /= 10; //a = 0
запихай это в цикл - получишь цифры числа. Ищешь среди них максимальное, потом в еще одном цикле считаешь количество максимальных.

Можно все в один цикл запихать, в принципе - изменилось максимальное число - обнулил счетчик. Нашел число, совпадающее с максимальным - увеличил счетчик.
В цикл while(a!=0) или for ? как искать максимальное, если b заменяется на b a на a ? Не могу вообще понять как работать с циклам while. Проще в массиве найти максимальное чем в числе
FtorKlork вне форума Ответить с цитированием
Старый 29.11.2014, 08:24   #6
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,618
По умолчанию

Цитата:
В цикл while(a!=0) или for ? как искать максимальное, если b заменяется на b a на a ? Не могу вообще понять как работать с циклам while. Проще в массиве найти максимальное чем в числе
Ну ты думай, пробуй, код прикладывай, а мы поправим ))
Если препод дал такое задание - то он в тебя верит

Цитата:
В цикл while(a!=0) или for ?
Любой цикл.
a!=0 - плохое условие, посмотри на число 10 (это не тоже самое, что 1)
сравнивай b с a, на последней итерации они равны друг друг другу (до деления a на 10)
rrrFer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C# Сколько раз встречается максимум azhigalieva Общие вопросы C/C++ 3 27.03.2014 23:09
Сколько раз строка встречается в тексте. Алерон Помощь студентам 0 22.05.2012 21:42
Сколько раз слово встречается в строке ksu25 Паскаль, Turbo Pascal, PascalABC.NET 1 25.09.2009 15:53
Сколько раз встречается данное слово n1k1c4 Помощь студентам 4 13.12.2007 20:33