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

Разрядность чисел - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.88
_Kate_
0 / 0 / 0
Регистрация: 12.09.2012
Сообщений: 92
Записей в блоге: 1
10.10.2012, 20:51     Разрядность чисел #1
К примеру я ввожу число :1245 (разрядность 4), 123 (разрядность 3) и так далее
Нужно реализовать именно рекурсивно. Вот что и я написала но явно криво, понятно что нужен счетчик.
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
#include <iostream>
#include <conio.h>
using namespace std;
int i=0;
int rozriad(int n){
    int b;
    
    b=n%10;
    i++;
    if(b<0)
    return ;
    else
        return rozriad(10*n);
}
 
 
 
 
int main(){
    int n;
    cout<<"Enter digite:";
    cin>>n;
    rozriad(n);
    cout<<rozriad(n)<<"rozriadnoctb";
    getch();
 
 
    return 0;}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
10.10.2012, 21:06     Разрядность чисел #2
Вот вроде работает.
C++
1
2
3
4
5
6
7
int rozriad(int n)
{
    if(n==0)
     return i;
    else
     return rozriad(n/10)+1;
}
Другой вариант записи:
C++
1
2
3
4
int rozriad(int n)
{  
     return !n? i: rozriad(n/10)+1;
}
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
10.10.2012, 21:08     Разрядность чисел #3
C++
1
2
3
4
int count(int a)
{
   return abs(a) < 10 ? 1 : 1 + count(a/10);
}
_Kate_
0 / 0 / 0
Регистрация: 12.09.2012
Сообщений: 92
Записей в блоге: 1
10.10.2012, 21:12  [ТС]     Разрядность чисел #4
спасибо работает )
Yandex
Объявления
10.10.2012, 21:12     Разрядность чисел
Ответ Создать тему
Опции темы

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