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

Кто разъяснит - C++

Восстановить пароль Регистрация
 
ВалентинАматор
2 / 5 / 0
Регистрация: 25.02.2011
Сообщений: 140
16.04.2011, 00:20     Кто разъяснит #1
При написании кода.Возникла проблема.Задача лежит в том что число допустим 234 с него нужно получить суму всех цифер в нем то есть 2+3+4.Как это реализовать?(Число может быть любой длины его вводим с клавиатуры)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2011, 00:20     Кто разъяснит
Посмотрите здесь:

как и кто C++
C++ Массив на практике кто бы помог решить может хоть кто то
Кто знает,ответьте) C++
Кто сможет C++
Кто поможет? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
x1Mike7x
 Аватар для x1Mike7x
214 / 127 / 6
Регистрация: 06.11.2010
Сообщений: 234
16.04.2011, 00:28     Кто разъяснит #2
C++
1
2
3
4
5
string S;
getline(cin, S);
for (int R = 0, i = 0; i < S.size(); ++i)
    R += S[i] - '0';
cout << R;
Overmind024
99 / 99 / 6
Регистрация: 10.09.2010
Сообщений: 267
16.04.2011, 00:49     Кто разъяснит #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
using namespace std;
 
int main()
{
    int n,sym=0;
    cin>>n;
    while(n)
    {
        sym+=n%10;
        n/= 10;
    }
    cout << sym << endl;
    cin.get();
    cin.get();
    return 0;
}
Как то так.
ВалентинАматор
2 / 5 / 0
Регистрация: 25.02.2011
Сообщений: 140
16.04.2011, 00:55  [ТС]     Кто разъяснит #4
А можно еще на русском расписать что мы сделали?))
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
16.04.2011, 01:19     Кто разъяснит #5
Распишу второй вариант:
C++
1
 while(n)
Пока число не равно нулю
C++
1
  sym+=n%10;
берем остаток от деления на 10 числа n и добавляем этот остаток в сумму.
Например, от числе 234 в сумму запишется 4.
C++
1
                 n/= 10;
Теперь надо убрать эту 4. Т.е. превратить число 234 в 23.
При делении на 10 число 234 будет 23,4 ,но т.к. это число типа int, то дробь отбрасывается.
В след. шаге в сумму запишется цифра 3 и получится число 2.
В след. шаге в сумму запишется цифра 2 и получится число 0.
След. шага не будет, т.к. число n будет равен нулю.
ВалентинАматор
2 / 5 / 0
Регистрация: 25.02.2011
Сообщений: 140
16.04.2011, 13:35  [ТС]     Кто разъяснит #6
Пасиба я вкурил)))
Yandex
Объявления
16.04.2011, 13:35     Кто разъяснит
Ответ Создать тему
Опции темы

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