Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2012, 16:45   #11
Antej
Пользователь
 
Регистрация: 09.01.2012
Сообщений: 38
По умолчанию

Цитата:
Сообщение от Dizelektwo Посмотреть сообщение
Antej

А мне Вам что ли программу целиком надо написать? Я предложил лаконичный вариант почти без колес. А уловить мысль и посчитать разряды Ваша задача.
нет. но было бы хорошо если бы Вы подсказали мне не то что я и так делал, а то как подсчитать разрады (итерации умножения) дробной части....
Antej вне форума Ответить с цитированием
Старый 14.12.2012, 16:48   #12
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Поменяйте условие в цикле на i<1000000, будет у Вас отображение с точностью 6 знаков после запятой,
Тьфу чёрт, ТС несёт чушь, а я следом. При chislo равном 1.123 и 1.00123 "дробная часть" в таком алгоритме получится одинаковой.
Abstraction вне форума Ответить с цитированием
Старый 14.12.2012, 16:52   #13
Antej
Пользователь
 
Регистрация: 09.01.2012
Сообщений: 38
По умолчанию

Цитата:
Сообщение от Abstraction Посмотреть сообщение
Тьфу чёрт, ТС несёт чушь, а я следом. При chislo равном 1.123 и 1.00123 "дробная часть" в таком алгоритме получится одинаковой.
это была между прочим ваша идея...
вы так и не ответили на вопрос о проверке равенства..
Antej вне форума Ответить с цитированием
Старый 14.12.2012, 17:09   #14
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
вы так и не ответили на вопрос о проверке равенства..
Какой вопрос? Проверка вещественных чисел на равенство может вернуть false (включая сравнения вроде (3.0 + 7.0) == 10.0).
Более того, "истинная" дробная часть произвольного вещественного числа (скажем, обозначаемого в коде как 3.14) может содержать очень большое, хотя и конечное, количество десятичных ненулевых знаков.
Abstraction вне форума Ответить с цитированием
Старый 14.12.2012, 17:10   #15
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

используй gcvt()
она сделает текст
потом
sscanf();
и будет вам дробная и не дробная часть.
так же можно srttok()
Если помог, тут весы есть , Вам не сложно, а мне приятно.
Perchik71 вне форума Ответить с цитированием
Старый 14.12.2012, 18:01   #16
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

В этой задачке есть только одна изюминка - погрешности при хранении дробных чисел.

0.456 может в итоге оказаться как 0.3455999999999999999999999
или как 0.345600000000000000001

Единственное, что нужно для решения этой задачки - придумать способ как учесть оба случая, при условии, что точный перекос погрешности не известен.

Нужно определить соответствие: 0.3456 или все таки 0.3455? Или это реальный такой 0.34559 ?

Когда только начинал учить с++, писал свой велосипедный класс строк. Он умеет выполнять преобразования в пределах аналогичных аналогам из стандартной библиотеки.

Если нужно - я могу выложить) Код деццкий, а потому простой как пробка
_Bers вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать из числа типа real число типа integer? gylayko Помощь студентам 6 15.09.2012 11:41
задача - найти произведение первой цифры целой части и третей цифры дробной части вещественного числа. LAZARUS maks22 Lazarus, Free Pascal, CodeTyphon 2 30.01.2012 19:53
Определение первой цифры дробной части числа Intersap Помощь студентам 2 19.09.2011 00:07