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

Написать функцию, находящую сумму цифр целого числа - C++

Восстановить пароль Регистрация
 
Pe4eNbKo_O
 Аватар для Pe4eNbKo_O
22 / 22 / 0
Регистрация: 15.10.2012
Сообщений: 94
26.11.2012, 11:19     Написать функцию, находящую сумму цифр целого числа #1
Написать функцию SumDigit(N), находящую сумму цифр целого числа N (N - входной параметр). При вводе N реализовать проверку на корректность исходных данных (N > 0).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2012, 11:19     Написать функцию, находящую сумму цифр целого числа
Посмотрите здесь:

C++ Рассчитать сумму цифр данного целого числа X.
Написать функцию itoa (n,s) преобразования целого числа n в стринг s C++
Описать функцию SumRange(A, B) целого типа, находящую сумму всех целых чисел от A до B C++
C++ Целой переменной s присвоить сумму цифр трехзначного целого числа k
написать программу которая вводит целое число и определяет сумму его цифр. Использовать функцию вычисления суммы цифр числа C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Schizorb
 Аватар для Schizorb
508 / 460 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
26.11.2012, 11:30     Написать функцию, находящую сумму цифр целого числа #2
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>
 
int sum_digit(int n)
{
    int sum = 0;
    while(n)
    {
        sum += n % 10;
        n /= 10;
    }
    return sum;
}
 
int main()
{
    int n;
    
    do
    {
        std::cout << "Enter n: ";
        std::cin >> n;  
    }
    while(n <= 0);
    
    std::cout << "sum = " << sum_digit(n) << "\n";
    
    return 0;
}
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
26.11.2012, 11:55     Написать функцию, находящую сумму цифр целого числа #3
А может так:
C++
1
2
3
4
5
6
7
8
9
unsigned int sd(unsigned int N)
{
 unsigned int result;
 for (result=0; N!=0; N>>=1)
 {
  result+=(N&0x01);
 }
 return result;
}
? Эта функция тоже считает сумму цифр целого числа, только двоичных. ТС систему не указал.

Добавлено через 1 минуту
257d=100000001b, 2+5+7=14, 1+0+0+0+0+0+0+0+1=2.

Добавлено через 49 секунд
257d=101h. 1+0+1=2.

Добавлено через 28 секунд
257d=401o. 4+0+1=5.

Добавлено через 2 минуты
317d=13Dh=475o=100111101b. 3+1+7=11, 1+3+D=17, 4+7+5=16, 1+0+0+1+1+1+1+0+1=6.

Добавлено через 1 минуту
А может надо сложить байты? Или вообще подразумевается смешанная система с цифрами до 999?
Pe4eNbKo_O
 Аватар для Pe4eNbKo_O
22 / 22 / 0
Регистрация: 15.10.2012
Сообщений: 94
12.12.2012, 13:08  [ТС]     Написать функцию, находящую сумму цифр целого числа #4
Цитата Сообщение от Schizorb Посмотреть сообщение
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>
 
int sum_digit(int n)
{
    int sum = 0;
    while(n)
    {
        sum += n % 10;
        n /= 10;
    }
    return sum;
}
 
int main()
{
    int n;
    
    do
    {
        std::cout << "Enter n: ";
        std::cin >> n;  
    }
    while(n <= 0);
    
    std::cout << "sum = " << sum_digit(n) << "\n";
    
    return 0;
}
а можно прокоментировать строки ?
Schizorb
 Аватар для Schizorb
508 / 460 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
12.12.2012, 13:16     Написать функцию, находящую сумму цифр целого числа #5
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
29
30
31
32
33
34
35
36
37
38
#include <iostream>
 
// функция, находящая сумму 
int sum_digit(int n)
{
    // изначально сумма равна 0
    int sum = 0; 
    
    // до тех пор, пока число не равно 0
    while(n)
    {
        // к сумме прибавляем последнюю цифру числа
        sum += n % 10;
        // число уменьшаем в 10 раз (избавляемся от разряда единиц)
        n /= 10;
    }
    // возвращаем сумму
    return sum;
}
 
// главная функция 
int main()
{
    int n;
    
    // вводим число, проверяя на корректность
    do
    {
        std::cout << "Enter n: ";
        std::cin >> n;  
    }
    while(n <= 0);
    
    // вызываем ф-цию (аргумент - введенное число) и печатаем ее результат
    std::cout << "sum = " << sum_digit(n) << "\n";
    
    return 0;
}
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
12.12.2012, 13:18     Написать функцию, находящую сумму цифр целого числа #6
Цитата Сообщение от Schizorb Посмотреть сообщение
// число уменьшаем в 10 раз (избавляемся от разряда единиц)
Нет не так. Избавляемся от цифры, только что учтённой в сумме.
Schizorb
12.12.2012, 13:26
  #7

Не по теме:

taras atavin, ну да суть такая, я криво выразился может.

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2012, 13:28     Написать функцию, находящую сумму цифр целого числа
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
12.12.2012, 13:28     Написать функцию, находящую сумму цифр целого числа #8
Суть в том, что из буфера удаляется только что обработанная часть данных.
Yandex
Объявления
12.12.2012, 13:28     Написать функцию, находящую сумму цифр целого числа
Ответ Создать тему
Опции темы

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