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

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

Восстановить пароль Регистрация
 
Bulichka
Сообщений: n/a
23.11.2011, 02:13     Считать количество цифр в числе #1
Нужно написать програмку, которая из двух чисел выбрала бы то, в котором больше цифр
(написать прогу, которая считала бы количество цифр в числе)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IronD
 Аватар для IronD
2 / 2 / 0
Регистрация: 22.11.2009
Сообщений: 24
25.11.2011, 14:04     Считать количество цифр в числе #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
28
29
30
31
32
33
34
35
36
37
#include <iostream>
#include <conio.h>
 
using namespace::std;
 
void main()
{
 
    int a;          //Число 1
    int b;          //Число 2
    
    cout << "Enter a: ";
    cin >> a;
    cout << "Enter b: ";
    cin >> b;
 
    int aLng = 0;
    int bLng = 0;
 
    while(a)            //Считаем сколько цифр в числе
    {
        a = a/10;
        aLng++;
    }
 
    while(b)
    {
        b = b/10;
        bLng++;
    }
 
    cout << "\na = " << aLng;
    cout << "\nb = " << bLng;
 
    _getch();
 
}
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
25.11.2011, 14:33     Считать количество цифр в числе #3
Количество цифр:
C
1
2
3
4
int Count(int a)
{
   return abs(a) < 10 ? 1 : (1 + Count(a/10));
}
IronD
 Аватар для IronD
2 / 2 / 0
Регистрация: 22.11.2009
Сообщений: 24
25.11.2011, 14:40     Считать количество цифр в числе #4
Почитал форум, заметил, что вы любитель тренарных операций и рекурсий
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
25.11.2011, 15:07     Считать количество цифр в числе #5

Не по теме:

IronD, не совсем, это для разнообразия. А так всегда стараюсь к итеративному методу все свести. Просто полезно уметь решать задачу разными способами

Можно так

C
1
2
3
4
5
6
7
8
9
int Count(int a)
{
   int count = 0;
   do{
      count++;
      a /= 10;
   }while(a);
   return count;
}
А вот интересный способ от товарища go:


C
1
2
3
4
5
6
7
int Count(int a)
{
   int count = 1;
   while(a /= 10)
      count++;
   return count;
}
Так что интересно анализировать

Кстати, IronD, как вы думаете, если число равно нулю, то сколько в нем цифр и как отреагирует на это ваш алгоритм?
thick_int
Заблокирован
25.11.2011, 15:46     Считать количество цифр в числе #6
Для целочисленных типов, не очень интересно.
Интереснее решение этой задачи для вещественных типов.
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
25.11.2011, 15:51     Считать количество цифр в числе #7
Цитата Сообщение от thick_int Посмотреть сообщение
Для целочисленных типов, не очень интересно.
Интереснее решение этой задачи для вещественных типов.
Хорошо, подсчитайте в этом числе:
1.0/3.0
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
25.11.2011, 16:18     Считать количество цифр в числе #8
Или так
C
1
2
3
4
int digits_count( int n )
{
    return n ? log10( 1. * abs(n) ) + 1 : 1;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2011, 19:07     Считать количество цифр в числе
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
25.11.2011, 19:07     Считать количество цифр в числе #9
Цитата Сообщение от thick_int Посмотреть сообщение
Интереснее решение этой задачи для вещественных типов.
Решения нет
Yandex
Объявления
25.11.2011, 19:07     Считать количество цифр в числе
Ответ Создать тему
Опции темы

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