Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

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


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

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

Определение количества цифр в восьмеричном числе - C++
Помогите сделать программу, пожалуйста! Алгоритм определения кол-ва цифр в восьмеричном числе

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

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

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

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

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

42
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 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
Эксперт С++
4228 / 2202 / 150
Регистрация: 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
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
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
Эксперт С++
4228 / 2202 / 150
Регистрация: 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 / 0
Регистрация: 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 / 1
Регистрация: 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 / 0
Регистрация: 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 / 1
Регистрация: 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 / 57
Регистрация: 11.08.2011
Сообщений: 2,295
Записей в блоге: 2
Завершенные тесты: 1
22.11.2011, 23:39 #40
mr.n-drey, контр-тест: 32 - выводит 3.
0
mr.n-drey
41 / 41 / 1
Регистрация: 16.11.2010
Сообщений: 110
23.11.2011, 09:40 #41
Ну попробуй заменить тогда round на floor:
C++
1
2
3
4
int num(int n)
{
    return floor(log10(n)+1);
}
0
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
23.11.2011, 10:12 #42
mr.n-drey, а сами не пробовали, не забываем про функцию log10 (double X)
C++
1
2
3
4
int num(int n)
{
        return floor(log10((float)n)+1);
}
0
mr.n-drey
41 / 41 / 1
Регистрация: 16.11.2010
Сообщений: 110
23.11.2011, 19:22 #43
Цитата Сообщение от go Посмотреть сообщение
а сами не пробовали
вот как раз и попробовал!!! На C++ Builder в консольном приложении все работает!
0
23.11.2011, 19:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2011, 19:22
Привет! Вот еще темы с ответами:

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

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

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

Определение чётности/нечётности цифр в числе - C++
&quot;Установить, четным или нечетным является число цифр в записи данного натурального числа. Если число цифр нечетно, вывести среднюю цифру.&quot; ...


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

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

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