Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Kostia1012
1 / 1 / 0
Регистрация: 17.11.2013
Сообщений: 96
#1

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

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

Здравствуйте! Найти сумму цифр вещественного числа, введенного пользователем. Как это можно реализовать в функции? Заранее спасибо!

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

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

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

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

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

Посчитать количество и сумму десятичных цифр введенного числа
что-то не получается. Прошу помощи.Спасибо. #include<iostream> using...

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
Модератор
7166 / 5433 / 674
Регистрация: 14.02.2011
Сообщений: 18,347
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
Модератор
7166 / 5433 / 674
Регистрация: 14.02.2011
Сообщений: 18,347
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
Модератор
7166 / 5433 / 674
Регистрация: 14.02.2011
Сообщений: 18,347
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
Модератор
7166 / 5433 / 674
Регистрация: 14.02.2011
Сообщений: 18,347
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
08.06.2014, 11:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.06.2014, 11:41

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

Найти сумму делитей. Подсчитать сумму цифр числа. Количество цифр
Друзья,подскажите пожалуйста где ошибка?Цикл не считает сумму делителей числа....

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


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

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

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