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

Погрешность дробной части - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разложить функцию в ряд http://www.cyberforum.ru/cpp-beginners/thread792001.html
что то не получается.... и подскажите как мне в одну строку сделать т.е чтобы этого небыло st *= x; а было в одной строке slag = st * sin(i*(PI/4)); double snf(int n, double x) { double...
C++ Таблица на двумерном массиве или структуре Задача: Написать программу со вводом имен 10 студентов, вводом 10 оценок каждому, вывод результата в виде таблицы с подсчетом ср. арифм. для каждого студента и ср. арифм. для всех студентов. Через... http://www.cyberforum.ru/cpp-beginners/thread791993.html
Условие останова C++
Привет, ребята. Посоветуйте плиз, как мне задать условие для того, чтобы ввод прекратился? Вот код: int i,choice; for(i=0;i<MAX;i++) { cin>>choice; if(choice=='q') break;...
C++ переводчик
чуваки в чем ошибка?почему считывая на английском слово которое я ввожу и есть в текстовом документе не выводит перевод?#include<iostream> #include<iterator> #include<map> #include<string>...
C++ Антивирус ругается на мои программы http://www.cyberforum.ru/cpp-beginners/thread791939.html
#include <iostream> #define _USE_MATH_DEFINES #include <cmath> using namespace std; int main() { cout << "PI=" << M_PI << '\n'; return 0;
C++ объявить массив эл-тов типа person Определена структура: struct Person { char name ; int age; bool male; } Объявите и проинициализируйте массив их 3-х элементов типа Person Буду ОЧЕНЬ благодарна!!!! подробнее

Показать сообщение отдельно
Ilyaa
20 / 20 / 3
Регистрация: 29.04.2012
Сообщений: 214

Погрешность дробной части - C++

21.02.2013, 21:39. Просмотров 564. Ответов 4
Метки (Все метки)

Сначала опишу задание, потом проблему.
Задание:
Дан первый элемент, остальную часть последовательности чисел надо вычислить по определенной формуле.
первый элемент, z=0.067

Проблема:
НО при отладке я заметил, что число выходит не совсем такое, как мне надо. Лишняя цифра на конце. Отсюда появляется погрешность, которая растет с ростом кол-ва вычислений.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <cmath>
 
#define K 11
#define z 0.067 //this is x0
#define P 3.141
 
void K_way(double *table)
{
 
    double assist=0, integral=0;
    table[0]=z;
    for(int i=1; i<1000; i++)
    {
        assist=K*table[i-1];
        table[i]=modf(assist, &integral);
    }
}
ВОпрос: как мне обнулить все, что после тысячных?
Я не нашел таких функций в библиотеке <cmath>

И еще кое-что: мне надо, чтобы они уже в массиве были ровные, аккуратные числа вида 0,***00000000000000000000000, т.к. потом будет сортировка и подсчет частоты.
То есть тех, кто хочет посоветовать setprecision(3) для output'a, прошу воздержаться.
0
Миниатюры
Погрешность дробной части  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru