Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 03.09.2012
Сообщений: 5

Найти сумму всех цифр после запятой среди дробных чисел

27.09.2012, 18:00. Показов 3087. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть массив дробных цифр, типа 11.35, 14.55 , нада дайти сууму всех чисел после запятой, в етом примере ето будет 35 + 55
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.09.2012, 18:00
Ответы с готовыми решениями:

Найти и вывести сумму всех дробных чисел в строке
Найти и вывести сумму всех дробных чисел в строке. Размер строки 80. Вводится пользователь, но проблема в нахождении самих дробных чисел....

Найти и вывести сумму всех дробных чисел в строке
Найти и вывести сумму всех дробных чисел в строке. Размер строки 80. Вводится пользователь, но проблема в нахождении самих дробных чисел....

Найти и вывести сумму всех дробных чисел в строке
Найти и вывести сумму всех дробных чисел в строке. Размер строки 80. Вводится пользователь, но проблема в нахождении самих дробных чисел....

12
12 / 12 / 3
Регистрация: 26.02.2012
Сообщений: 21
27.09.2012, 19:09
Может и есть более простые решение, но так тоже работает
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace PryamoTreugolnik
{
    class Program
    {
        static void Main(string[] args)
        {
            double[] a = { 34.45, 23.67, 23.21 };
 
            int sum = 0;
 
            for (int i = 0; i < a.Length; i++)
            {
                sum = sum + Convert.ToInt32(a[i].ToString().Remove(0, a[i].ToString().IndexOf(".", 0) + 1));
            }
 
            Console.WriteLine(sum);
            Console.ReadLine();
        }
    }
}
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
27.09.2012, 19:40
только используйте тип decimal, а не double, пожалуйста, во избежания неожиданных результатов.
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
27.09.2012, 20:00
Так 33+55 или 0.33+0.55?
А то в первом же случае непонятно как дробную часть можно представить в виде целой.
0
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 6
28.09.2012, 07:11
Если после запятой ищем, можно отнять (int)числа от самого числа и получить значение после запятой...
0
Неадекват
 Аватар для freeba
1501 / 1237 / 248
Регистрация: 02.04.2010
Сообщений: 2,807
28.09.2012, 11:28
Все как предки завещали. Никаких строк и с учетом долбанного IEEE 754. Можно еще немного оптимизировать, но мне лень.
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
using System;
 
namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            double[] array = { 12.34, 34.678, 123.4, 45.32 };
            decimal sum = 0;
            for (int i = 0; i < array.Length; i++)
                sum += ReturnFract(array[i], (int)GetRes(array[i]));
 
            Console.WriteLine(sum);
            Console.ReadKey(true);
        }
 
        static double GetRes(double input)
        {
            if ((int)input - input == 0.0) return input;
            else
                return GetRes(input * 10);
        }
 
        static int ReturnFract(double input, int res)
        {
            int ret = 0;
            ret = res - (int)((int)input * Math.Pow(10.0, GetCountNumber(res) - GetCountNumber((int)input)));
            return ret;
        }
 
        static int GetCountNumber(int input)
        {
            int ret = 0;
            while (input != 0)
            {
                input /= 10;
                ret++;
            }
            return ret;
        }
    }
}

PS: JustMe, ваш способ не прокатит, ибо согласно IEEE 754: 12.45-12 != 0.45, оно равно 0.449999(9).
0
 Аватар для винс
46 / 46 / 11
Регистрация: 16.03.2012
Сообщений: 199
28.09.2012, 12:56
freeba,
Цитата Сообщение от freeba Посмотреть сообщение
PS: JustMe, ваш способ не прокатит, ибо согласно IEEE 754: 12.45-12 != 0.45, оно равно 0.449999(9).
вот таже фигня. и ничего не сделать?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
            double[] a = { 11.34, 14.55, 7.6, 16.215};
 
            var res = a.Select(i => {
                int temp = Convert.ToInt32(i);      //11
                if (i < temp)                       //11.34 < 11
                    --temp;                         // - 
                i = (i - temp);                     //11.34-11=0.33999999999999986
                while (i != (int)i)                 //а надо бы 0.34
                {
                    i *= 10;
                }
                return i;
            }).Sum(); 
            
            Console.Write("Sum = {0}", res);
            Console.ReadLine();
Добавлено через 38 минут
ну да, ничего
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
28.09.2012, 13:01
Цитата Сообщение от freeba Посмотреть сообщение
Все как предки завещали
Это вы о чем?

Цитата Сообщение от винс Посмотреть сообщение
ничего не сделать?
Можно округлять.

И все-таки, как в таких задачах складывать дробные числа в виде целых?
1.5 и 1.05, например. Сумма должна быть 10 или 55?
0
 Аватар для винс
46 / 46 / 11
Регистрация: 16.03.2012
Сообщений: 199
28.09.2012, 13:09
Цитата Сообщение от kolorotur Посмотреть сообщение
Можно округлять.
интересно
Цитата Сообщение от kolorotur Посмотреть сообщение
И все-таки, как в таких задачах складывать дробные числа в виде целых?
1.5 и 1.05, например. Сумма должна быть 10 или 55?
думаю 10
0
Неадекват
 Аватар для freeba
1501 / 1237 / 248
Регистрация: 02.04.2010
Сообщений: 2,807
28.09.2012, 13:42

Не по теме:

Цитата Сообщение от kolorotur Посмотреть сообщение
Это вы о чем?
1. Никогда не использовать строки при работе с числами
2. Никогда не использовать строки при работе с числами
3. Любой стандарт можно использовать себе во благо
4. Нет такой технологии без которой нельзя было бы обойтись




Цитата Сообщение от винс Посмотреть сообщение
интересно
Пример "математического округления":
C#
1
Math.Round(12.45, 1, MidpointRounding.AwayFromZero)
Вернет 12.5
1
28.09.2012, 18:42

Не по теме:

Цитата Сообщение от freeba Посмотреть сообщение
1. Никогда не использовать строки при работе с числами
2. Никогда не использовать строки при работе с числами
3. Любой стандарт можно использовать себе во благо
4. Нет такой технологии без которой нельзя было бы обойтись
Прочитал все сообщения выше вашего. Ни одного подобного комментария не заметил. То есть никакого "верещания" как некие "предки".
Так о чем это вы?

0
28.09.2012, 19:44

Не по теме:

kolorotur, Мда... СПГС в тяжелой форме. Это неуклюжая попытка юмора, но зачем так строго к ней подходить?

0
28.09.2012, 20:47

Не по теме:

Цитата Сообщение от freeba Посмотреть сообщение
СПГС в тяжелой форме.
Лурко*б?

Цитата Сообщение от freeba Посмотреть сообщение
Это неуклюжая попытка юмора
А, понял.

Цитата Сообщение от freeba Посмотреть сообщение
зачем так строго к ней подходить?
Да никто к ней строго не подходил, где вы в буковках строгость-то увидели?
Была написана непонятная фраза, попросил уточнить. После уточнения попытался отыскать в теме сообщение, которому она была адресована - не нашел. Попросил еще раз уточнить.
Извините, тупой наверное.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.09.2012, 20:47
Помогаю со студенческими работами здесь

С клавиатуры вводится последовательность дробных чисел(окончание ввода-0) найти сумму всех чисел,количество отрицательных и количество положительных.
В общем,ребята. Помогите написать код,буду очень признателен. С клавиатуры вводится последовательность дробных чисел(окончание ввода-0)...

Среди всех чисел из интервала от А до Б, которые кратны 3, найти количество таких, у которых квадрат суммы цифр равен произведению его цифр.
Среди всех чисел из интервала от А до Б, которые кратны 3, найти количество таких, у которых квадрат суммы цифр равен произведению его...

Циклы: определить среди всех двузначных чисел те, которые делятся на сумму своих цифр
Здравствуйте, помогите пожалуйста с программой на C++. (Определить среди всех двузначных чисел те, которые делятся на сумму своих...

Среди заданных чисел найти произведение всех нечетных цифр
Среди заданных чисел найти произведение всех нечетных цифр. Если таких цифр нет - вернуть 1. Написать программу при помощи цикла со...

Найти сумму всех некратных трем чисел среди чисел от 1 до n
Найти сумму всех некратных 3-ём чисел среди чисел от 1 до n.


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru