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

Сосчитать сумму цифр числа - C++

Восстановить пароль Регистрация
 
gromo
 Аватар для gromo
366 / 265 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
25.01.2011, 20:35     Сосчитать сумму цифр числа #1
Здравствуйте. Извините конечно, но я еще нуб в программировании. Вот такой вопрос: Почему эта программа работает неправильно?
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <string>
                              
void main(){
    using namespace std; 
    string number("555");
    int summ=0;
    for (int ix=0; ix<number.size(); ++ix)
        summ+=number[ix];
    cout <<summ <<endl;
}
Насколько я знаю, тип char (в number[ix]) должен неявно преобразовываться в int. Но программа выдает результат 153, вместо 15. Что это может быть?
Спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2011, 20:35     Сосчитать сумму цифр числа
Посмотрите здесь:

C++ Подпрограммы: Из заданного числа отняли сумму его цифр. Из результата опять отняли сумму его цифр и т.д. Через сколько таких действий получится ноль?
C++ От данного числа N вычтем сумму цифр этого числа, от полученного числа опять вычтем сумму цифр и т.д. до тех пор, пока число положительно
C++ Найти сумму первых 5 цифр дробной части действительного числа.например для числа 23,1680989 она равна 24.програма на С++
написать программу которая вводит целое число и определяет сумму его цифр. Использовать функцию вычисления суммы цифр числа C++
C++ Дана последовательность n натуральных чисел. Для каждого числа вычислить количество его цифр и сумму этих цифр. Вывести на экран каждое число, количес
Даны натуральные числа N и M(N > M).Найти сумму М последних цифр числа N. C++
C++ Даны натуральные числа n, m. Получить сумму m последних цифр числа n
C++ Найти сумму делитей. Подсчитать сумму цифр числа. Количество цифр

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dxdy
 Аватар для dxdy
97 / 97 / 5
Регистрация: 14.06.2010
Сообщений: 283
25.01.2011, 20:50     Сосчитать сумму цифр числа #2
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <string>
using namespace std;
                                                          
void main(){
        string number("555");
        int summ=0;
        for (int ix=0; ix<number.size(); ++ix)
                summ+=(number[ix] - '0');
        cout <<summ <<endl;
}
gromo
 Аватар для gromo
366 / 265 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
25.01.2011, 21:44  [ТС]     Сосчитать сумму цифр числа #3
dxdy, спасибо большое. Все теперь правильно. Но не могли бы вы объяснить в чем тут дело?

Добавлено через 18 минут
Уже все понял!! символ '5' это представление числа 53 в ASCII. Я просто не подумал, что number[ix] дает результат в одинарных кавычках, т.е. char(' '). Забыл элементарщину

Добавлено через 21 минуту
Но все-таки, как понять эту конструкцию:
C++
1
(number[ix] - '0')
Yandex
Объявления
25.01.2011, 21:44     Сосчитать сумму цифр числа
Ответ Создать тему
Опции темы

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