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

Задача найти сумму первых трех цифр дробной части вещественного числа - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.63
AphinaShi
0 / 0 / 0
Регистрация: 05.05.2013
Сообщений: 11
21.03.2014, 19:11     Задача найти сумму первых трех цифр дробной части вещественного числа #1
Программа работает. Но мне не понятно, почему она работает только если вычитать 48? Изначально я делала алгоритм без того и считалось неправильно. Вариант с 48 нашёлся с одного из готовых кодов, но принципа этого действия я не понимаю.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
const int Size  = 40;
int main()
{
 
char num [Size];
int answer = 0;
cout << "Enter" "\n";
cin.get(num, Size);
    for (int i = 0; i < Size; i++)
        if (num [i] == ',')
            answer += (int) (num[i+1]-48) +  (int) (num[i+2]-48) + (int) (num[i+3]-48);
 
cout << answer <<endl;
 
    keep_window_open ();
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.03.2014, 19:11     Задача найти сумму первых трех цифр дробной части вещественного числа
Посмотрите здесь:

C++ Определить, есть ли среди k-первых цифр дробной части вещественного числа цифра 0
C++ Вывести на экран 1 или 0 в зависимости от того, есть ли среди первых трех цифр дробной части заданного положительного вещественного числа цифра ноль
C++ Определения, равна сумма цифр целой части вещественного числа сумме такого же количества цифр в дробной части
C++ Найти сумму первых 5 цифр дробной части действительного числа.например для числа 23,1680989 она равна 24.програма на С++
C++ Найти сумму первых 5 цифр дробной части действительного числа.например для числа 23,1680989 она равна 24.Програма на С++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5953 / 5558 / 1787
Регистрация: 18.12.2011
Сообщений: 14,204
Завершенные тесты: 1
21.03.2014, 19:54     Задача найти сумму первых трех цифр дробной части вещественного числа #2
48 это код буквы ноль.
Можно написать так
C++
1
 answer += (int) (num[i+1]-'0') +  (int) (num[i+2]-'0') + (int) (num[i+3]-'0');
AphinaShi
0 / 0 / 0
Регистрация: 05.05.2013
Сообщений: 11
21.03.2014, 19:59  [ТС]     Задача найти сумму первых трех цифр дробной части вещественного числа #3
Большое спасибо, а зачем в принципе его вычитать?
fishec
 Аватар для fishec
118 / 118 / 30
Регистрация: 07.09.2013
Сообщений: 337
21.03.2014, 20:10     Задача найти сумму первых трех цифр дробной части вещественного числа #4
Цитата Сообщение от AphinaShi Посмотреть сообщение
а зачем в принципе его вычитать?
Чтобы получить цифру, соответствующую символу. Например '5'-'0'=53-48=5, '1'-'0'=49-48=1, '9'-'0'=57-48=9
То есть если просто написать '1'+'2' число 3 не получится. А если написать '1'-'0' + '2'-'0' как раз получится 3.
Yandex
Объявления
21.03.2014, 20:10     Задача найти сумму первых трех цифр дробной части вещественного числа
Ответ Создать тему
Опции темы

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