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

Вещественные числа и округление - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Неправильно выполнение ifstream, ofstream http://www.cyberforum.ru/cpp-beginners/thread975801.html
Не происходит ни открытие файла, ни выполнение операций ввода-вывода //--------------------------------------------------------------------------- #include <vcl.h> #include <iostream> #include...
C++ Неправильно возводит в степень матрицу неправильно возводит в степень матрицу не знаю может алгоритм неверный) #include "stdafx.h" #include <iostream> #include <locale.h> class Matrix {protected: http://www.cyberforum.ru/cpp-beginners/thread975793.html
ifstream ofstream C++
как работают данные файловые операции, объясните пожалуйста куда происходит запись ена жёстком диске
Движение окружности по диагонали туда и обратно C++
Вот написал функцию. Что не правильно в алгоритме? void move () { int shag=1; if (x<getmaxx()-r && y<getmaxy()-r) { x+=shag; y+=shag; } else
C++ Статический массив двухмерных динамических массивов http://www.cyberforum.ru/cpp-beginners/thread975761.html
Необходимо создать статический массив двухмерных динамических массивов (матриц). Т.е. чтобы была некая стопка матриц, одна под другой. Очень важно, чтобы созданные матрицы были все инициализированы...
C++ Проблемы с курсаком В общем задача такая, написать программу которая переводит слова в цифры! Например: один = 1, два = 2, пять тысяч семьсот пятнадцать = 5715. Написал бы сам, но я даже представления не имею как это... подробнее

Показать сообщение отдельно
gund
18 / 18 / 0
Регистрация: 05.05.2013
Сообщений: 88

Вещественные числа и округление - C++

12.10.2013, 23:10. Просмотров 562. Ответов 1
Метки (Все метки)

Или я туплю, или долго сижу, но вот никак не могу решить такую задачу: есть диапазон (напр. от 88 до 88.5), нужно в цикле обойти этот диапазон с шагом 0.1. Написал вот так:
C++
1
2
3
4
for (double i = 88; i < 88.5; i+=0.1)
        {
            // Тут нужно делать проверки связанные с i, то есть очень важно точность (одна цифра после запятой) при каждой итерации
}
И при исполнении кода неправильно итерируется i. В дебаге я посмотрел, оно вот такое:
88.000000000000000
88.099999999999994
88.199999999999989
88.299999999999983
88.399999999999977
88.499999999999972
Нужно либо заставить правильно (точно) складываться, либо округлять до 1 цифры после запятой, иначе просто не работает сравнение в цикле.
Спасибо.

Пытался сделать так:
C++
1
i = int(i*10)/10.0;
Без толку.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru