Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Kostia1012
1 / 1 / 0
Регистрация: 17.11.2013
Сообщений: 96
#1

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

07.06.2014, 19:41. Просмотров 982. Ответов 10
Метки нет (Все метки)

Здравствуйте! Найти сумму цифр вещественного числа, введенного пользователем. Как это можно реализовать в функции? Заранее спасибо!
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2014, 19:41
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Найти сумму цифр вещественного числа, введенного пользователем (C++):

Сумма цифр введенного пользователем числа - C++
Пользователь вводит с клавиатуры натуральное число, проверить корректность ввода, вычислить и вывести на экран сумму цифр введённого...

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

Вывод всех цифр введенного пользователем числа через пробел в обратном порядке - C++
Задача: Написать программу, которая выводит на экран все цифры введенного пользователем числа через пробел в обратном порядке. Всё это...

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

Найти ошибочку. Нахождение суммы цифр вещественного числа - C++
Всем привет! Создал функцию нахождения суммы цифр вещественного числа. Функция практически работает, но, когда я кладу в переменную число...

Найти сумму делитей. Подсчитать сумму цифр числа. Количество цифр - C++
Друзья,подскажите пожалуйста где ошибка?Цикл не считает сумму делителей числа. #include <iostream> using namespace std; void...

10
Kostia10
2 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 33
08.06.2014, 09:08 #2
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
26
int fun(double n)
{
    int t, p, sum1 = 0, sum2 = 0, sum = 0;
    double z, intptr;
    t = (int)n;
    z = n - t;
    while (t)
    {
        sum1 += t % 10;
        t /= 10;
    }
 
    while (modf(z, &intptr) != 0)
    {
        z *= 10;
    }
    p = (int)z;
    while (p)
    {
        sum2 += p % 10;
        p /= 10;
    }
    sum = sum1 + sum2;
 
    return sum;
}
0
ValeryS
Модератор
6967 / 5304 / 522
Регистрация: 14.02.2011
Сообщений: 17,885
08.06.2014, 09:10 #3
del
0
Kostia10
2 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 33
08.06.2014, 09:21 #4
Цитата Сообщение от ValeryS Посмотреть сообщение
del
???
0
ValeryS
Модератор
6967 / 5304 / 522
Регистрация: 14.02.2011
Сообщений: 17,885
08.06.2014, 09:24 #5

Не по теме:

Цитата Сообщение от Kostia10 Посмотреть сообщение
???
удалил сообщение, поскольку не соответствовало



вот этот вопрос меня смутил
Цитата Сообщение от Kostia10 Посмотреть сообщение
t = (int)n;
что будет в t если ввести 3.3e100???
0
Kostia10
2 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 33
08.06.2014, 09:31 #6
Не знаю... Есть предложения как написать по другому?
0
ValeryS
Модератор
6967 / 5304 / 522
Регистрация: 14.02.2011
Сообщений: 17,885
08.06.2014, 09:33 #7
Цитата Сообщение от Kostia10 Посмотреть сообщение
Есть предложения как написать по другому?
ну только мысли
переводить число в текстовый вид
например так
C++
1
2
char buf[100];
sprintf(buf,"%lf",n);
и парсить строку
иначе или переполнение или накопление ошибок из за округления
0
Kostia10
2 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 33
08.06.2014, 09:47 #8
Цитата Сообщение от ValeryS Посмотреть сообщение
Код C++
C++
1
2
char buf[100];
sprintf(buf,"%lf",n);
Вставьте это в код, пожалуйста, как будет выглядеть...
0
Kostia1012
1 / 1 / 0
Регистрация: 17.11.2013
Сообщений: 96
08.06.2014, 09:48  [ТС] #9
А дальше все так же что ли? Или как? Покажите поподробней, пожалуйста...
0
ValeryS
Модератор
6967 / 5304 / 522
Регистрация: 14.02.2011
Сообщений: 17,885
08.06.2014, 10:00 #10
Цитата Сообщение от Kostia10 Посмотреть сообщение
Вставьте это в код, пожалуйста, как будет выглядеть...
в какой код?
который я не написал?
0
Kostia10
2 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 33
08.06.2014, 11:41 #11
Цитата Сообщение от ValeryS Посмотреть сообщение
в какой код?
который я не написал?
это:
C++
1
2
char buf[100];
sprintf(buf,"%lf",n);
В этот:
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
26
int fun(double n)
{
    int t, p, sum1 = 0, sum2 = 0, sum = 0;
    double z, intptr;
    t = (int)n;
    z = n - t;
    while (t)
    {
        sum1 += t % 10;
        t /= 10;
    }
 
    while (modf(z, &intptr) != 0)
    {
        z *= 10;
    }
    p = (int)z;
    while (p)
    {
        sum2 += p % 10;
        p /= 10;
    }
    sum = sum1 + sum2;
 
    return sum;
}
Добавлено через 1 час 4 минуты
Ну?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.06.2014, 11:41
Привет! Вот еще темы с ответами:

если сумму цифр введенного трехзначного числа N кратна трем, то увеличить число на единицу, иначе-уменьшить вдвое - C++
если сумму цифр введенного трехзначного числа N кратна трем, то увеличить число на единицу, иначе-уменьшить вдвое. Напишите текст...

С помощью рекурсии вывести все числа от 1 до введенного пользователем числа k - C++
С помощью рекурсии вывести все числа от 1 до введенного пользователем числа k. Не понимаю, как сделать это рекурсией. Язык С++

Умножение введенного пользователем числа на 3 - C++
int total; cout << "Введите результат: "; cin >> total; здесь if (в котором я не знаю чего написать) ну вы понЕли чего я...

От данного числа N вычтем сумму цифр этого числа, от полученного числа опять вычтем сумму цифр и т.д. до тех пор, пока число положительно - C++
И опять: сколько можно? Задано натуральное число N. От данного числа вычтем сумму цифр этого числа, от полученного числа опять...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

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