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

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

Войти
Регистрация
Восстановить пароль
 
gromo
370 / 269 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
#1

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

25.01.2011, 20:35. Просмотров 441. Ответов 2
Метки нет (Все метки)

Здравствуйте. Извините конечно, но я еще нуб в программировании. Вот такой вопрос: Почему эта программа работает неправильно?
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++
Друзья,подскажите пожалуйста где ошибка?Цикл не считает сумму делителей числа. #include &lt;iostream&gt; using namespace std; void...

Подпрограммы: Из заданного числа отняли сумму его цифр. Из результата опять отняли сумму его цифр и т.д. Через сколько таких действий получится ноль? - C++
Составить программу решения задачи с использованием подпрограмм. Из заданного числа отняли сумму его цифр. Из результата опять отняли...

Даны натуральные числа n, m. Получить сумму m последних цифр числа n - C++
Даны натуральные числа n, m. Получить сумму m последних цифр числа n. с пояснениями в 2010 версии заранее спс! Добавлено через 31...

C++ сосчитать сколько и каких цифр встретилось в заданном диапазоне - C++
Помогите пожалуйста с кодом C++ сосчитать сколько и каких цифр встретилось в заданном диапазоне от a до b(которые заданы)

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

Вывести сумму цифр числа - C++
Дана строка, изображающая целое положительное число. Вывести сумму цифр этого числа.

Вычислите сумму цифр числа - C++
Дано натуральное число N. Вычислите сумму его цифр. При решении этой задачи нельзя использовать строки, списки, массивы (ну и циклы,...

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

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

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
370 / 269 / 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     Сосчитать сумму цифр числа
Ответ Создать тему
Опции темы

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