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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
Mihail_Yemets
0 / 0 / 0
Регистрация: 05.05.2014
Сообщений: 9
#1

Найти сумму цифр числа - C++

07.05.2014, 22:40. Просмотров 2460. Ответов 7
Метки нет (Все метки)

Вообщем все обстоит примерно так :

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
#include <iostream>
#include <math.h>
using namespace std;
 
int number_of_digits(int n)
{
    int count = 0;
    while(n)
    {
        n /= 10;
        count ++;
    }
    return count;
}
int main()
{
    int number = 0;
    int rez_number = 0;
    cout << "Enter number\n";
    cin >> number;
 
    cout << "Count of digits is = " << number_of_digits(number) << endl;
 
}
Проблема в том что , не знаю как , вытянуть цифри с числа , для работы с ними( сложить , вывести и т.д.). Для меня сложность заключаеться в том что бы сделать такую функцию универсальной , а не для какого то промежутку чисел.(т.к. так нужно сделать в задании). т.е. не проблема сделать если указано например (10 < N < 100) или (1000 < N < 10000) просто способ нахождения для каждого промежутка у меня получаеться разный. а нужен универсальный
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2014, 22:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти сумму цифр числа (C++):

Найти сумму делитей. Подсчитать сумму цифр числа. Количество цифр - C++
Друзья,подскажите пожалуйста где ошибка?Цикл не считает сумму делителей числа. #include &lt;iostream&gt; using namespace std; void...

От данного числа N вычтем сумму цифр этого числа, от полученного числа опять вычтем сумму цифр и т.д. до тех пор, пока число положительно - C++
И опять: сколько можно? Задано натуральное число N. От данного числа вычтем сумму цифр этого числа, от полученного числа опять...

Даны натуральные числа N и M(N > M).Найти сумму М последних цифр числа N. - C++
Прошу помочь решить задачки!:(очень нужно (Билет №23) Даны натуральные числа N и M(N &gt; M).Найти сумму М последних цифр числа N. ...

Найти сумму цифр числа - C++
помогите решить Задача. Введите натуральное n(10 &lt;= n &lt;= 1000), посчитайте и выведите чему равна сумма его цифр? Запрещено...

Найти сумму цифр числа n - C++
Пожалуйста, помогите сделать задачу , спасибо кто откликнется! Дано натуральное число а.Напишите программу которая находит сумму цифр...

Найти сумму цифр числа - C++
Помогите пожалуйста написать 2 легкие програмки в C++. Сам я пока не очень силен в программировании. №1 Введите 3 числа и выведите и...

7
ViktorNMax
54 / 54 / 9
Регистрация: 20.12.2012
Сообщений: 183
07.05.2014, 22:55 #2
можете уточнить проблему, что именно нужно сделать!?
1
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
07.05.2014, 23:01 #3
Цитата Сообщение от ViktorNMax Посмотреть сообщение
можете уточнить проблему, что именно нужно сделать!?
Если я правильно понял, ТС хочет знать как из числа (любого) извлекать цифры на разных позициях.
Mihail_Yemets, в приведенном коде (кстати пользуйтесь тегами выделения кода на панели ввода) у Вас есть цикл в котором осуществляется деление числа на 10, т.е. уменьшение его в 10 раз. Так вот, если до этого выполнить такой код, то можно получить последовательно все цифры числа:
C++
1
int digit = n % 10; // % возвращает остаток от деления чисел
1
Mihail_Yemets
0 / 0 / 0
Регистрация: 05.05.2014
Сообщений: 9
07.05.2014, 23:44  [ТС] #4
Я вроде бы нормально описалчто мне нужно сделать , но раз уж на то пошло. Мне нужно извлечь из числа его цифри оп очереди , а для каждого промежутка чисел например(10 < N < 100, или 100 < N < 1000) нужно делать по разному , например если это 189 то 189 / 100 % 10 а если это 1889 то 1889 / 1000 % 100 . А мне нужно что бы не зависимо от промежутка эта "формула работала". Т.к. все промежутки не указать то вручную( . Продумать какой-то цикл например.
0
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
07.05.2014, 23:50 #5
Цитата Сообщение от Mihail_Yemets Посмотреть сообщение
Продумать какой-то цикл например.
Так ведь я об этом и сказал выше. Если сразу не понятно, что вот код:
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
int main() {
    int n = 156932;
    while( n )
    {
       std::cout << n % 10 << std::endl;
       n /= 10;
    }
    return 0;
}
http://ideone.com/1ht0Iy

Выводим последовательно все цифры, начиная с младшего разряда.
0
Mihail_Yemets
0 / 0 / 0
Регистрация: 05.05.2014
Сообщений: 9
07.05.2014, 23:55  [ТС] #6
Вывести эти числа проблем не составляет , проблема заключаеться в том что бы допустим сложить эти цифри
, я просто не могу понять . Т.е. вывести кол-во этих цифр я могу , а вывести сами цифри , что бы с ними работать , да еще так что бы это не зависило от того двух значное это число или 4-х значное не выходит. Извините , если я спрашиваю что то очевидное , но в моей голове не укладываеться как это можно сделать
0
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
07.05.2014, 23:57 #7
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Mihail_Yemets Посмотреть сообщение
проблема заключаеться в том что бы допустим сложить эти цифри
какая же тут может быть проблема, если эти цифры уже получены? Сложить их и все дела
C++
1
2
3
4
5
6
7
int s = 0;
while( n )
{
       s += n % 10;
       n /= 10;
}
std::cout << s << std::endl;
Это же очевидно!
1
Mihail_Yemets
0 / 0 / 0
Регистрация: 05.05.2014
Сообщений: 9
08.05.2014, 00:00  [ТС] #8
Вроде бы как понял , спасибо большое за помощь! Пойду тестить =)
0
08.05.2014, 00:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2014, 00:00
Привет! Вот еще темы с ответами:

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

Найти сумму первых 5 цифр дробной части действительного числа.например для числа 23,1680989 она равна 24.Програма на С++ - C++
Найти сумму первых 5 цифр дробной части действительного числа.например для числа 23,1680989 она равна 24.Програма на С++.Нужна полная...

Найти сумму первых 5 цифр дробной части действительного числа.например для числа 23,1680989 она равна 24.програма на С++ - C++
Найти сумму первых 5 цифр дробной части действительного числа.например для числа 23,1680989 она равна 24.Програма на С++.ПОЖАЛУЙСТА...

дано натуральное число N. Определить,во сколько раз произведение цифр числа больше суммы цифр.Найти количество чётных цифр в записи числа!! - C++
дано натуральное число N. Определить,во сколько раз произведение цифр числа больше суммы цифр.Найти количество чётных цифр в записи числа!!...


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

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

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