Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как в C++ сделать поиск цифр в заданном числе.

Тимур Колосов Ученик (111), закрыт 5 лет назад
Как в c++ сделать так, что-бы в заданном числе например (233453436) найти (34) и показать сколько там таких (34)
Лучший ответ
Aleks Nots Просветленный (24784) 5 лет назад
int main()
{
long a = 233453436;
long cnt = 0;
while(a){
if(a%100 == 34){
cnt++;
}
a /=10;
}
cout << cnt;
}
Тимур КолосовУченик (111) 5 лет назад
Можешь пожалуйста обьяснить как это работает (дать коментарии) особенно меня интересует цикл while и почему оно так работает.
Заранее спасибо
Aleks Nots Просветленный (24784) "как это работает" while(a){ //в цикл заходит, потому, что число a не равно нулю if(a%100 == 34){//берем остаток от деления на 100, то есть проверяем, а не кончается ли число на 34 cnt++;//если да, то увеличиваем счетчик тридцатьчетверок a /=10;// то же что и a = a/10, так как число целое и делим на целое, то тем самым отбрасываем последнюю цифру из начального 233453436 (cnt 0) последовательно получаем 23345343 (cnt 0) 2334534 (cnt 1) 233453 (cnt 1) 23345 (cnt 1) 2334 (cnt 2) 233 (cnt 2) 23 (cnt 2) 2 (cnt 2) 2/10 здесь a становится нулем, поэтому выходит из цикла. Вообще, чтобы понять что и как, полезно где нибудь в цикле дописать вывод интересующих переменных, чтобы видеть что с ними происходит. Ну или поставить точки останова в IDE и смотреть дебагером на переменные.
Остальные ответы
Федор Новиков Искусственный Интеллект (361409) 5 лет назад
найти цифры в строке. Для С есть функция strstr, у строк С++ может быть метод поиска подстроки или преобразования в С-шную строку (c_str() )
An1Byte Мудрец (10841) 5 лет назад
// Ну если нигде не ошибся то примерно так:
int n = 287356823;
bool bf = false;
int counter = 0;
while(n){
int temp = n%10;
n/=10;
if(temp == 4 && bf == false){
bf = true;
}
else if(temp == 3 && bf == true){
bf = false;
counter++;
}
else{
bf = false;
}
}

cout << "counter = " << counter << flush;
Батаев Дмитрий Просветленный (22931) 5 лет назад
https://pastebin.com/r23XP2zT
вводишь ЧТО пожелаешь и ищешь то, что НУЖНО
Джин
Батаев ДмитрийПросветленный (22931) 5 лет назад
стоп!!!! множественное вхождение сам найдёшь или помогать???
Батаев ДмитрийПросветленный (22931) 5 лет назад
https://pastebin.com/BDdT3vgM
множественный последовательный поиск
Похожие вопросы