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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Неправильно выполнение ifstream, ofstream http://www.cyberforum.ru/cpp-beginners/thread975801.html
Не происходит ни открытие файла, ни выполнение операций ввода-вывода //--------------------------------------------------------------------------- #include <vcl.h> #include <iostream> #include <fstream> #include <string> #include <vector> #pragma hdrstop
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
Необходимо создать статический массив двухмерных динамических массивов (матриц). Т.е. чтобы была некая стопка матриц, одна под другой. Очень важно, чтобы созданные матрицы были все инициализированы нулями. Вот как делаю я: #define N 10 float**Array; // N - число матриц int m = 5; // кол-во строк в каждой матрице int n = 9; // кол-во столбцов в каждой матрице int k, i; for (k = 0; k <...
C++ Проблемы с курсаком В общем задача такая, написать программу которая переводит слова в цифры! Например: один = 1, два = 2, пять тысяч семьсот пятнадцать = 5715. Написал бы сам, но я даже представления не имею как это сделать, наоборот я уже сделал(скопипастил ;D), а этого нигде нет. Буду благодарен всем кто поможет=) подробнее

Показать сообщение отдельно
gund
18 / 18 / 0
Регистрация: 05.05.2013
Сообщений: 88
12.10.2013, 23:10     Вещественные числа и округление
Или я туплю, или долго сижу, но вот никак не могу решить такую задачу: есть диапазон (напр. от 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;
Без толку.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru