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

Узнать количество цифр в числе - C++

Восстановить пароль Регистрация
 
dzhoma
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 26
08.12.2013, 11:50     Узнать количество цифр в числе #1
Узнать кол-во цифр в числе
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
08.12.2013, 12:37     Узнать количество цифр в числе #2
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
int numOfDigits(long number)
{
    return !(number % 10) ? 0 : numOfDigits(number / 10) + 1;
}
 
int main()
{
    std::cout << numOfDigits(1234567);
}
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
08.12.2013, 12:55     Узнать количество цифр в числе #3
BumerangSP, на 0 не сработает.
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
08.12.2013, 13:23     Узнать количество цифр в числе #4
Dani, в таком случае компактно уже не получится. Есть идеи как это сделать одной функцией с рекурсией?
Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 869
08.12.2013, 13:29     Узнать количество цифр в числе #5
BumerangSP, а зачем рекурсия? Цикл с условием пока число не 0, делим его на 10 и инкрементируем счетчик.
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
08.12.2013, 13:35     Узнать количество цифр в числе #6
Ryuk, в таком случае тоже на 0 надо иф ставить
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
08.12.2013, 13:35     Узнать количество цифр в числе #7
Ryuk, хочу рекурсией)
Тем более, если число итак 0, тут даже цикл не поможет.
Мне без дополнительных if'ов интересно.
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
08.12.2013, 13:39     Узнать количество цифр в числе #8
BumerangSP, Ryuk,
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
int numOfDigits(long number, bool b=0)
{
    return (!(number) && b) ? 0 : numOfDigits(number/10, 1)+1;
}
 
int main()
{
    std::cout << numOfDigits(1234567);
}
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
08.12.2013, 13:48     Узнать количество цифр в числе #9
Dani, или так:
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
int numOfDigits(long number)
{
    return !((number / 10) % 10) ? 1 : numOfDigits(number / 10) + 1;
}
 
int main()
{
    std::cout << numOfDigits(1234567);
}
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
08.12.2013, 13:51     Узнать количество цифр в числе #10
BumerangSP, не-а, введи 1000000

Добавлено через 1 минуту
мб так
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
int numOfDigits(long number)
{
    return !(number / 10) ? 1 : numOfDigits(number / 10) + 1;
}
 
int main()
{
    std::cout << numOfDigits(1234);
}
BumerangSP
08.12.2013, 13:52
  #11

Не по теме:

Dani, фак
Надо что-то поуниверсальней придумать мне)

Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 869
08.12.2013, 13:53     Узнать количество цифр в числе #12
Dani, зачем условие? пока число больше или равно нулю, вот вам и условие.
Dani
08.12.2013, 13:53
  #13

Не по теме:

BumerangSP, на предыдущей странице

BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
08.12.2013, 13:54     Узнать количество цифр в числе #14
Да, кстати. Суть в том, что при 0 получать единицу, а в остальных случаях на 1 шаг заранее проверять последнюю цифру. Это меня старый код подвел с остатком от деления.
Именно это имелось в виду.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.01.2014, 20:36     Узнать количество цифр в числе
Еще ссылки по теме:

Количество цифр в числе C++
Рекурсия: количество цифр в числе, сумма цифр и реверс числа C++
Количество различных цифр в числе C++

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

Или воспользуйтесь поиском по форуму:
ildwine
14.01.2014, 20:36     Узнать количество цифр в числе
  #15

Не по теме:

А у вас тут весело...

Yandex
Объявления
14.01.2014, 20:36     Узнать количество цифр в числе
Ответ Создать тему
Опции темы

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