Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.65
Chiko94
1 / 1 / 0
Регистрация: 21.11.2011
Сообщений: 23
#1

Определение количества цифр в целом числе - C++

21.11.2011, 20:48. Просмотров 2743. Ответов 42
Метки нет (Все метки)

Помогите плиз)

Вот вариант что нужно сделать!


написать подпрограмму-функцию определения кол-во цифр в целом числе n(если после деления k раз числа n на 10 в целой части числа будет ноль, то k-кол-во цифр в числе n) и использовать ее для вычисления кол-во цифр во вводимых с клавиатуры пяти числах.

заранее спасибо)
http://www.cyberforum.ru/cpp-beginners/thread1574693.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2011, 20:48
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Определение количества цифр в целом числе (C++):

Определить, сколько цифр в целом положительном числе
нужно сделать на С. -Задано целое додатне число N. Определить, сколько в нем...

Рекурсия, подсчитать количество цифр в заданном целом числе
Подсчитать количество цифр в заданном целом числе n

Определить количество цифр в целом числе, введенном пользователем
4)Написать программу которая определяет количество цифр в числе(целом)...

Составить программу, которая вычисляет произведение цифр в целом числе N
Составить программу, которая вычисляет произведение цифр в целом числе N

Написать функцию, которая возвращает количество цифр в целом числе
Помогите, что то я не могу понять задачи, даже не знаю с чего начать)))) 2....

42
Chiko94
1 / 1 / 0
Регистрация: 21.11.2011
Сообщений: 23
21.11.2011, 21:22  [ТС] #21
Цитата Сообщение от Thinker Посмотреть сообщение
Во измучили, вот вам на Си:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<stdio.h>
int Count(int a)
{
    int  k = 0;
    do{
       k++;
       a /= 10;
    }while(a);
    return k;
}
 
int main( )
{
    int a;
    scanf("%d", &a);
    printf("%d\n", Count(a));
    return 0;
}
Добавлено через 30 секунд


Не по теме:

бывает


во)) класс))) ну я просто в раньше учил бейсик а потом резко перешли на visual studia c++((
0
Thinker
Эксперт С++
4232 / 2206 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
21.11.2011, 21:24 #22
Цитата Сообщение от Chiko94 Посмотреть сообщение
во)) класс)))

Не по теме:

неужели понравилось :cofee:

0
go
Эксперт С++
3636 / 1368 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
21.11.2011, 21:26 #23
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
int main ()
{
    long a,count=1;
    
         scanf ("%ld",&a);
 
    while ((a/=10)>=1)
        count++;
 
    printf ("\n%ld",count);
 
    fflush (stdin);
        getchar ();
 
        return 0;
}
0
Chiko94
1 / 1 / 0
Регистрация: 21.11.2011
Сообщений: 23
21.11.2011, 21:34  [ТС] #24
Цитата Сообщение от Thinker Посмотреть сообщение
неужели понравилось
и спросить кое что можно?))

printf ("%d\n", Count(a)); - здесь просто а нельзя записать?)

int Count(int a) - count это просто имя? если имя то можно и просто переменную поставить зачем сразу слово?)

а почему использовали do .. while а не просто while?))

a /= 10; а здесь можно написать a=a/10

и последний вопрос .. зачем придумали подпрограмму ? почему это нельзя сделать просто в программе))))

Добавлено через 3 минуты
Цитата Сообщение от go Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
int main ()
{
    long a,count=1;
    
         scanf ("%ld",&a);
 
    while ((a/=10)>=1)
        count++;
 
    printf ("\n%ld",count);
 
    fflush (stdin);
        getchar ();
 
        return 0;
}
сложновато(
0
go
Эксперт С++
3636 / 1368 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
21.11.2011, 21:39 #25
Цитата Сообщение от Chiko94 Посмотреть сообщение
сложновато(

самый оптимальный вариант, это первое решение Thinker с рекурсией, я вам предложил, как вы и хотели, без функций вообще
куда уже проще
1
Chiko94
1 / 1 / 0
Регистрация: 21.11.2011
Сообщений: 23
21.11.2011, 21:53  [ТС] #26
спасибо))) но мне нужно подпрограмму а тут не под программа

Добавлено через 9 минут
Цитата Сообщение от Chiko94 Посмотреть сообщение
#include <stdio.h>
int main ()
{
* * * * long a,count=1;
scanf ("%ld",&a);
while ((a/=10)>=1)
* * * * * * * * count++;
printf ("\n%ld",count);
fflush (stdin);
* * * * getchar ();
return 0;
}

слушай а ты ansi c не знаешь?)
0
Thinker
Эксперт С++
4232 / 2206 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
21.11.2011, 21:54 #27
Цитата Сообщение от Chiko94 Посмотреть сообщение
слушай а ты ansi c не знаешь?)
Это стандарт языка Си (самый первый)
0
Chiko94
1 / 1 / 0
Регистрация: 21.11.2011
Сообщений: 23
21.11.2011, 21:57  [ТС] #28
Цитата Сообщение от Thinker Посмотреть сообщение
Это стандарт языка Си (самый первый)
значит вы его знаете?) и он легкий)))

напишите плиз прогу на ansi c))
0
Thinker
Эксперт С++
4232 / 2206 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
21.11.2011, 21:58 #29
Цитата Сообщение от Chiko94 Посмотреть сообщение
значит вы его знаете?) и он легкий)))

напишите плиз прогу на ansi c))
Мы с go именно это и сделали)))

http://ru.wikipedia.org/wiki/ANSI_C
0
Chiko94
1 / 1 / 0
Регистрация: 21.11.2011
Сообщений: 23
21.11.2011, 22:02  [ТС] #30
Цитата Сообщение от Thinker Посмотреть сообщение
Мы с go именно это и сделали)))

http://ru.wikipedia.org/wiki/ANSI_C
хм))) у go просто не подпрограмма)) а у Thinker вроде есть пару не понятных фраз, функций, операторов ну что то такое))
0
Thinker
Эксперт С++
4232 / 2206 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
21.11.2011, 22:07 #31
Цитата Сообщение от Chiko94 Посмотреть сообщение
хм))) у go просто не подпрограмма)) а у Thinker вроде есть пару не понятных фраз, функций, операторов ну что то такое))
У go полноценная программа. Если вам нужна подпрограмма, то порыскайте по постам этого топика и все функции Count() - это и есть подпрограмма!
1
Chiko94
1 / 1 / 0
Регистрация: 21.11.2011
Сообщений: 23
21.11.2011, 22:08  [ТС] #32
2 сообщение, прога вроде Thinker, ответьте плиз))

printf ("%d\n", Count(a)); - здесь просто а нельзя записать?)

int Count(int a) - count это просто имя? если имя то можно и просто переменную поставить зачем сразу слово?)

а почему использовали do .. while а не просто while?))

a /= 10; а здесь можно написать a=a/10

и последний вопрос .. зачем придумали подпрограмму ? почему это нельзя сделать просто в программе))))
1
Thinker
Эксперт С++
4232 / 2206 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
21.11.2011, 22:13 #33
Цитата Сообщение от Chiko94 Посмотреть сообщение
printf ("%d\n", Count(a)); - здесь просто а нельзя записать?)

int Count(int a) - count это просто имя? если имя то можно и просто переменную поставить зачем сразу слово?)

а почему использовали do .. while а не просто while?))

a /= 10; а здесь можно написать a=a/10

и последний вопрос .. зачем придумали подпрограмму ? почему это нельзя сделать просто в программе))))
можно сделать так
count = Count(a);
printf ("%d\n", count);

do-while чтобы учесть число 0, в котором одна цифра

можно написать a = a/10;

Чтобы облегчить жизнь (а кому то наоборот, усложнить)))
0
go
Эксперт С++
3636 / 1368 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
21.11.2011, 22:22 #34
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
#include <stdio.h>
 
long count (long a)
{
    int count_ =1 ;
 
    while (a/=10)
        count_++;
 
    return count_;
}
 
int main(int argc, char* argv[])
 
 
{
        long a;
        
         scanf ("%ld",&a);
 
        printf ("\n%ld",count(a));
 
        fflush (stdin);
        getchar ();
 
        return 0;
}
1
Thinker
Эксперт С++
4232 / 2206 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
21.11.2011, 22:25 #35
Цитата Сообщение от go Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
long count (long a)
{
    int count_ =1 ;
 
    while (a/=10)
        count_++;
 
    return count_;
}
Вот, классно!!!
0
Tenass
7 / 7 / 1
Регистрация: 21.03.2010
Сообщений: 398
22.11.2011, 02:37 #36
посмотри это:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
main()
{
 long int a,x,p;
 clrscr();
 cout<<"-> "; cin>>a;
 x = abs(a);
 p = 0;
 
 do
   {
    x = x/10;
    p++;
   }
   while(x!=0);
 
 cout<<endl<<p;
 return 0;
}
возможно нечто не то, так что извините)))

Добавлено через 4 минуты
или создать переменную типа стринг (это и будет введенное число) и переменную типа стринг, которая возвращает длину строки(length))
0
mr.n-drey
41 / 41 / 6
Регистрация: 16.11.2010
Сообщений: 110
22.11.2011, 10:07 #37
А может так:

C++
1
2
3
4
double num(double n)
{
return Math::Log10(n)+1;
}
0
Tenass
7 / 7 / 1
Регистрация: 21.03.2010
Сообщений: 398
22.11.2011, 21:43 #38
Цитата Сообщение от mr.n-drey Посмотреть сообщение
double num(double n)
{
return Math::Log10(n)+1;
}
подробнее, если можна
0
mr.n-drey
41 / 41 / 6
Регистрация: 16.11.2010
Сообщений: 110
22.11.2011, 22:37 #39
А что подробней то??? Просто передаёшь этой функции число, количество цифр в котором нужно узнать и округляешь полученный результат...

Добавлено через 17 минут
Ага понял))) в консольном варианте просто такую функцию вызывать
C++
1
2
3
4
5
#include <math.h>
int num(int n)
{
    return round(log10(n)+1);
}
0
Dani
1393 / 637 / 134
Регистрация: 11.08.2011
Сообщений: 2,295
Записей в блоге: 2
Завершенные тесты: 1
22.11.2011, 23:39 #40
mr.n-drey, контр-тест: 32 - выводит 3.
0
22.11.2011, 23:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2011, 23:39
Привет! Вот еще темы с решениями:

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

Написать функцию, которая возвращает количество цифр в целом числе, полученном в качестве аргумента
Кто знает как решить задачу, на С++: написать функцию, которая возвращает...

Проверка количества цифр в числе
Доброго времени суток) Возникла проблема с программой, помогите, пожалуйста...

Подсчет количества цифр в вещественном числе
Насколько я понял, сделать это можно лишь с переводом в строковый тип, а вот...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

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