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

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

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

Натуральное число N - C++

25.10.2011, 10:54. Просмотров 549. Ответов 12
Метки нет (Все метки)

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

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

Дано натуральное число N (N <= 100). Построить натуральное число, состоящее из N цифр и содержащее только цифры 1 и 2, которое делится на 2N - C++
Дано натуральное число N (N &lt;= 100). Построить натуральное число, состоящее из N цифр и содержащее только цифры 1 и 2, которое делится на...

Дано натуральное число m. Найти такое натуральное n, что двоичная запись n получается из двоичной записи m изменением порядка цифр на обратный ( - C++
Дано натуральное число m. Найти такое натуральное n, что двоичная запись n получается из двоичной записи m изменением порядка цифр на...

Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке. Например, дано число 156, нужно получ - C++
Вобщем,если не сложно,именно саму функцию помочь написать,ибо я просто не могу понять:) Добавлено через 22 минуты вот так...

Дано натуральное число N и вещественное число x. Вычислить частичную сумму ряда. - C++
Дано натуральное число N и вещественное число x. Вычислить S=\sum \limits_{i = 1}^N \frac x {(N+i)!}

Дано натуральное четырехзначное число n. Определить, является ли это число перевертышем - C++
Дано натуральное четырехзначное число n. Определить, является ли это число перевертышем. Например, числа 2222, 6116, 0440 и т.д.

12
-=ЮрА=-
Заблокирован
Автор FAQ
25.10.2011, 11:01 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
 
unsigned long nDigit(unsigned long val)
{
    unsigned long ret = 1;//ÎäèГ* Г°Г*çðÿä Гў ëþáîì ÷èñëå Г¤Г*æå Гі Г*óëÿ
    while(1 < (val /= 10))//val /= 10 - Г°Г*çáèðГ*ГҐГ¬ ÷èñëî ГЇГ® Г°Г*çðÿäГ*Г¬
        ret ++;
    return ret;
}
 
 
int main()
{
    unsigned long val;
    cout<<"Enter value : ";cin>>val;
    cout<<"Value consist from "<<nDigit(val)<<" digits\n";
    system("pause");
    return 0;
}
0
Миниатюры
Натуральное число N  
gogajeti
4 / 4 / 0
Регистрация: 19.10.2011
Сообщений: 20
25.10.2011, 11:01 #3
есть как минимум два метода - 1. перевести в строку и вычислить ее длину 2.в цикле делить на 10 и считать количество итераций. надеюсь, намек понятен
0
p0zitiff
0 / 0 / 0
Регистрация: 24.05.2011
Сообщений: 68
25.10.2011, 11:06  [ТС] #4
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
 
unsigned long nDigit(unsigned long val)
{
    unsigned long ret = 1;//ÎäèГ* Г°Г*çðÿä Гў ëþáîì ÷èñëå Г¤Г*æå Гі Г*óëÿ
    while(1 < (val /= 10))//val /= 10 - Г°Г*çáèðГ*ГҐГ¬ ÷èñëî ГЇГ® Г°Г*çðÿäГ*Г¬
        ret ++;
    return ret;
}
 
 
int main()
{
    unsigned long val;
    cout<<"Enter value : ";cin>>val;
    cout<<"Value consist from "<<nDigit(val)<<" digits\n";
    system("pause");
    return 0;
}
Юрий а можете его под Builder "подлатать"...
0
-=ЮрА=-
Заблокирован
Автор FAQ
25.10.2011, 11:09 #5
Цитата Сообщение от p0zitiff Посмотреть сообщение
Юрий а можете его под Builder "подлатать"...
- не вопрос, сейчас

Добавлено через 2 минуты
p0zitiff, вот так попробуйте
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream.h>
#include <stdlib.h>//system("pause");
 
unsigned long nDigit(unsigned long val)
{
    unsigned long ret = 1;//ÎäèГ* Г°Г*çðÿä Гў ëþáîì ÷èñëå Г¤Г*æå Гі Г*óëÿ
    while(1 < (val /= 10))//val /= 10 - Г°Г*çáèðГ*ГҐГ¬ ÷èñëî ГЇГ® Г°Г*çðÿäГ*Г¬
        ret ++;
    return ret;
}
 
 
int main()
{
    unsigned long val;
    cout<<"Enter value : ";cin>>val;
    cout<<"Value consist from "<<nDigit(val)<<" digits\n";
    system("pause");
    return 0;
}
0
Миниатюры
Натуральное число N  
-=ЮрА=-
Заблокирован
Автор FAQ
25.10.2011, 11:23 #6
p0zitiff, вдруг Ваш билдер не жуёт С++, вот код на Си
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <stdlib.h>//system("pause");
 
unsigned long nDigit(unsigned long val)
{
    unsigned long ret = 1;//Один разряд в любом числе даже у нуля
    while(1 < (val /= 10))//val /= 10 - разбираем число по разрядам
        ret ++;
    return ret;
}
 
 
int main()
{
    unsigned long val;
    printf("Enter value : ");scanf("%u",&val);
    printf("Value consist from %u digits\n",nDigit(val));
    system("pause");
    return 0;
}
0
Миниатюры
Натуральное число N  
Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
25.10.2011, 11:40 #7
-=ЮрА=-, правильней будет в цикле
C
1
while(1 <= (val /= 10));
, потому как в числах где присутствует единица, всегда будет выводить на одну цифру меньше.
1
-=ЮрА=-
Заблокирован
Автор FAQ
25.10.2011, 11:51 #8
Цитата Сообщение от Nursik77 Посмотреть сообщение
потому как в числах где присутствует единица, всегда будет выводить на одну цифру меньше.
- не понял замечания, возможно Вы не увидели изначальной инициализации
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
unsigned long ret = 1;//Один разряд в любом числе даже у нуля
Добавлено через 3 минуты
Всё соглашусь
Цитата Сообщение от Nursik77 Посмотреть сообщение
while(1 <= (val /= 10));

Надо было побольше потестировать мне прогу
0
Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
25.10.2011, 11:54 #9
Просто когда я ввожу число в которой единица стоит в начале, результат выводится на одну цифру меньше, а в остальных случаях нормально. Например:
При:
Enter value: 123
Выводит:
Value consist from 2 digits
0
-=ЮрА=-
Заблокирован
Автор FAQ
25.10.2011, 11:59 #10
Nursik77, я уже согласился с Вашим замечанием
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Всё соглашусь
Сообщение от Nursik77
while(1 <= (val /= 10));
Надо было побольше потестировать мне прогу
1
Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
25.10.2011, 12:03 #11
-=ЮрА=-, я просто не увидел
0
-=ЮрА=-
Заблокирован
Автор FAQ
25.10.2011, 14:08 #12
Цитата Сообщение от Nursik77 Посмотреть сообщение
-=ЮрА=-, я просто не увидел
- всё оке, Спасибо что внимание мне обратил на мой огрех
0
Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
25.10.2011, 14:22 #13
Не за что
0
25.10.2011, 14:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.10.2011, 14:22
Привет! Вот еще темы с ответами:

Дано натуральное число n, действительное число х. Вычислить sinx+sinx2+...+sinxn - C++
Прошу помочь с 3-мя задачками очень нужно сдать а сделать никак не могу. 1) Дано натуральное число n, действительное число х. Вычислить...

Дано натуральное число N. Получить новое число М, которое образуется из числа N - C++
Дано натуральное число N. Получить новое число М, которое образуется из числа N путем замены последней цифры на значение наименьшей цифры в...

Дано шестизначное натуральное число. Определить число сотен и десятков в нем - C++
help Дано шестизначное натуральное число. Определить число сотен и десятков в нем. (Visual studio C++)

Дано натуральное число N. Получите новое число, перевернув его - C++
Дано натуральное число N. Получите новое число, перевернув его. В с++.


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

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

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