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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
chert
0 / 0 / 0
Регистрация: 10.10.2009
Сообщений: 26
#1

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

10.10.2009, 12:05. Просмотров 1279. Ответов 16
Метки нет (Все метки)

Решите пожалуйста!!!!!!!!(очень надо).........(напишите саму программу):
Дано целое число К.Найти сумму цифр числа К
ПОМОГИТЕ ПОЖАЛУЙСТА!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
odip
Эксперт С++
7155 / 3295 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
10.10.2009, 12:24     Найти сумму цифр. #2
K! - это факториал от K или просто восклицательный знак ?
HIMen
4121 / 1370 / 39
Регистрация: 12.04.2009
Сообщений: 2,346
10.10.2009, 12:24     Найти сумму цифр. #3
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
#include <iostream>
int fact(int f)
{
    if (f==1)
    {
        return f;
    }
    else
    {
        f=f*fact(f-1);
    }
}
int main()
{
    int K, R=0;
    std::cin >> K;
    K=fact(K);
    while (K>0)
    {
        R+=K%10;
        K/=10;
    }
    std::cout << R;
    return 0;
}
chert
0 / 0 / 0
Регистрация: 10.10.2009
Сообщений: 26
10.10.2009, 14:40  [ТС]     Найти сумму цифр. #4
Добавлено через 5 минут
HIMen, -Спасибочки большое!
но мне не факториала,это просто восклицательный знак.
может знаещь?помоги плиз.....

Добавлено через 1 минуту
odip, -нет это просто знак восклицательный!
пожалуйста помогите!
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
10.10.2009, 15:13     Найти сумму цифр. #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
int main()
{
    int K, R=0;
    std::cout<<"Enter K: ";
    std::cin >> K;
 
    while (K>0)
    {
        R+=K%10;
        K/=10;
    }
    std::cout << R<<std::endl;
 
    system("PAUSE");
    return 0;
}
chert
0 / 0 / 0
Регистрация: 10.10.2009
Сообщений: 26
10.10.2009, 16:06  [ТС]     Найти сумму цифр. #6
TanT, СПАСИБО БОЛЬШОЕ!

Добавлено через 49 минут
кто знает еще варианты какие решения этой задачи на языке:
Дано целое число К.Найти сумму цифр числа К
Gravity
558 / 552 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
10.10.2009, 16:10     Найти сумму цифр. #7
Цитата Сообщение от chert Посмотреть сообщение
кто знает еще варианты какие решения этой задачи на языке:
Ты их коллекционируешь что ли?
chert
0 / 0 / 0
Регистрация: 10.10.2009
Сообщений: 26
10.10.2009, 16:48  [ТС]     Найти сумму цифр. #8
Gravity-нет,просто мне тот не очень понятен.я недавно начала изучать С и С++.
так вот, сейчас пишу программы (си похож на паскаль с виду),так пока полностью не разобралась.
odip
Эксперт С++
7155 / 3295 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
10.10.2009, 16:55     Найти сумму цифр. #9
Ого! Я промахнулся - это не черт, это чертовка

Добавлено через 32 секунды
А чего тут разбираться - от Паскаля ничем не отличается по алгоритму !!!?
Gravity
558 / 552 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
10.10.2009, 17:02     Найти сумму цифр. #10
chert, переписал пример выше на Си (там было на С++):

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
int main()
{
    int n;
    int sum = 0;
 
    printf("Enter n: ");  /* приглашение ввести число */
    scanf("%d", &n);      /* ввод */
 
    do {
        sum +=  n % 10;   /* суммируем цифры числа n */
    } while(n /= 10);     /* пока n, деленное на 10, больше нуля */
 
    printf("Sum = %d\n", sum);
    return 0;
}
Алгоритм в принципе тот же, здесь незачем выдумывать что-то необычное.
chert
0 / 0 / 0
Регистрация: 10.10.2009
Сообщений: 26
10.10.2009, 17:34  [ТС]     Найти сумму цифр. #11
Добавлено через 2 минуты
Gravity, спасибо тебе огромное!!!!!!!!!!!!!

Добавлено через 1 минуту
odip, да-да,я девушка!
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
10.10.2009, 17:42     Найти сумму цифр. #12
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
int main()
{
    int sum = 0;
    const int N = 10;
    char s[N];
    std::cin>>s;
    for (int i = 0 ; i < strlen(s) ; i++)
      sum=sum+s[i]-'0';
    std::cout<<"sum="<<sum<<std::endl;
    return 0;
}
chert
0 / 0 / 0
Регистрация: 10.10.2009
Сообщений: 26
10.10.2009, 17:53  [ТС]     Найти сумму цифр. #13
Gravity, вроде я алгоритм и поняла просто не понимаю одного: while(n /= 10);-А для чего делить на 10,и чего именно на 10?
в описании переменных почему сумма=0?-объясни пожалуйста-меня эта программка очень заинтересовала.хочу разобраться

Добавлено через 1 минуту
Андрейка, спасибочки тебе!очень благодарна!
chert
0 / 0 / 0
Регистрация: 10.10.2009
Сообщений: 26
10.10.2009, 21:59  [ТС]     Найти сумму цифр. #14
Gravity,-объясни пожалуйста..............
CppBeginner
1 / 1 / 0
Регистрация: 11.10.2009
Сообщений: 23
12.10.2009, 18:17     Найти сумму цифр. #15
Мне кажется, что в условии речь шла о вводе двузначного числа. Если да, то на подобии этого мы в группе решали.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include<iostream.h>
int main()
{
    int a, b, p, sum;//Объявляем переменные
    cin >> a; //Вводим наше число, например, 22
    b = a / 10;//Находим первое число, т.е. 22/10=2 (дробная часть отбрасывается)
    p = a % 10;//Находим второе число, т.е. 22/10=2 (будет 2.2, но целая часть отбрасывается)
    sum = b + p;//Находим сумму этих двух чисел
    cout << "Summa=" << sum << "\n";//И выводим результат
    system ("PAUSE");
 
    return 0;
}
А вот второе решение, более оптимальное, с меньшим количеством действий и будет более оптимальным в использовании ресурсов:
C++
1
2
3
4
5
6
7
8
9
10
#include<iostream.h>
int main()
{
    int a;//Объявляем единственную переменную
    cin >> a;// Вводим число
    cout << "Summa=" << (a/10)+(a%10);//НАходим первое и второе число, плюсуем и сразу выводим
    system ("PAUSE");
 
    return 0;
}
chert
0 / 0 / 0
Регистрация: 10.10.2009
Сообщений: 26
12.10.2009, 20:03  [ТС]     Найти сумму цифр. #16
CppBeginner, спасибо тебе огромное!
поняла!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2009, 17:32     Найти сумму цифр.
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
CppBeginner
1 / 1 / 0
Регистрация: 11.10.2009
Сообщений: 23
13.10.2009, 17:32     Найти сумму цифр. #17
А вот сегодня разбирали циклы, и вот способ, который выводит сумму цифр любого числа:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream.h>
int main()
{
    int a, s=0;
    cin >> a;
    for ( ;a!=0; )
    {
    s = s + a%10;
    a= a/10;
    }
    cout << s << "\n";
    system ("PAUSE");
        return 0;
}
p.s. Если надо, то могу прокомментировать.
Yandex
Объявления
13.10.2009, 17:32     Найти сумму цифр.
Ответ Создать тему
Опции темы

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