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

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

Войти
Регистрация
Восстановить пароль
 
dzhoma
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 26
#1

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

08.12.2013, 11:50. Просмотров 451. Ответов 14
Метки нет (Все метки)

Узнать кол-во цифр в числе
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2013, 11:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Узнать количество цифр в числе (C++):

Определить количество цифр в числе n и сумму всех его цифр - C++
Дано натуральное n , определить количество цифр в числе n и сумму всех его цифр. Значение n ввести с клавиатуры. Добавлено через...

Рекурсия: количество цифр в числе, сумма цифр и реверс числа - C++
Вот задание: Написать программу, которая запрашивает у пользователя целое число, на экран выводит сколько цифр в числе, их сумму и...

С клавиатуры вводится положительное натуральное число. Определить количество цифр в числе (сумму цифр) - C++
С клавиатуры вводится положительное натуральное число. Определить количество цифр в числе (сумму цифр)

Напишите программу, выводящую на экран количество цифр в этом числе и сумму этих цифр - C++
я начинающий! помогите! мне на екзам! Дано натуральное число а (a<100). Напишите программу, выводящую на экран количество цифр в этом...

Количество цифр в числе - C++
Число указует пользователь и нужно через for цыкл

Определить количество цифр в числе N - C++
Доброго времени суток уважаемые программисты.. Помогите пожалуйста , буду очень признательна! Если тому кто поможет будет принципиально...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BumerangSP
4286 / 1408 / 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
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
08.12.2013, 12:55 #3
BumerangSP, на 0 не сработает.
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
08.12.2013, 13:23 #4
Dani, в таком случае компактно уже не получится. Есть идеи как это сделать одной функцией с рекурсией?
Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
08.12.2013, 13:29 #5
BumerangSP, а зачем рекурсия? Цикл с условием пока число не 0, делим его на 10 и инкрементируем счетчик.
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
08.12.2013, 13:35 #6
Ryuk, в таком случае тоже на 0 надо иф ставить
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
08.12.2013, 13:35 #7
Ryuk, хочу рекурсией)
Тем более, если число итак 0, тут даже цикл не поможет.
Мне без дополнительных if'ов интересно.
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 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
4286 / 1408 / 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
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 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
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
08.12.2013, 13:53 #12
Dani, зачем условие? пока число больше или равно нулю, вот вам и условие.
Dani
08.12.2013, 13:53
  #13

Не по теме:

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

BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
08.12.2013, 13:54 #14
Да, кстати. Суть в том, что при 0 получать единицу, а в остальных случаях на 1 шаг заранее проверять последнюю цифру. Это меня старый код подвел с остатком от деления.
Именно это имелось в виду.
ildwine
14.01.2014, 20:36     Узнать количество цифр в числе
  #15

Не по теме:

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

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.01.2014, 20:36
Привет! Вот еще темы с ответами:

Подсчитать количество цифр 5 в числе - C++
определить количество цифр 5 в записи всех натуральных чисел от 1 до N (N&lt;10^18) включительно.

Количество данных цифр в числе - C++
Помогите пожалуйста с задачкой Подсчитать количество цифр а в числе b Входящие данные В первой строке задано 32-розрядное...

Считать количество цифр в числе - C++
Нужно написать програмку, которая из двух чисел выбрала бы то, в котором больше цифр (написать прогу, которая считала бы количество цифр...

Вычислить количество цифр в числе - C++
Помогите решить Дано целое число n (1&lt;n&lt;=10^9). Найти количество его цифр


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

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

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