Форум программистов, компьютерный форум 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 sn=0,slag=1,st=x; for(int i = 0; i < n; i++) { slag = st * sin(i*(PI/4)); st *= x; sn += slag; }
C++ Таблица на двумерном массиве или структуре Задача: Написать программу со вводом имен 10 студентов, вводом 10 оценок каждому, вывод результата в виде таблицы с подсчетом ср. арифм. для каждого студента и ср. арифм. для всех студентов. Через структуры проблема заключается в том, что в структуре не удается задать массив типа int для оценок. А через Двумерный массив не ясно как оперировать с int(оценками) и char(именами студентов) в... http://www.cyberforum.ru/cpp-beginners/thread791993.html
Условие останова C++
Привет, ребята. Посоветуйте плиз, как мне задать условие для того, чтобы ввод прекратился? Вот код: int i,choice; for(i=0;i<MAX;i++) { cin>>choice; if(choice=='q') break; switch(choice) {
C++ переводчик
чуваки в чем ошибка?почему считывая на английском слово которое я ввожу и есть в текстовом документе не выводит перевод?#include<iostream> #include<iterator> #include<map> #include<string> #include<fstream> #include<windows.h> using namespace std; int main()
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
Сообщений: 213
21.02.2013, 21:39     Погрешность дробной части
Сначала опишу задание, потом проблему.
Задание:
Дан первый элемент, остальную часть последовательности чисел надо вычислить по определенной формуле.
первый элемент, 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, прошу воздержаться.
Миниатюры
Погрешность дробной части  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru