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

Часть чисел записывается с совсем противоположным знаком, чем они выводятся в консоли - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Производные классы паблик и приват http://www.cyberforum.ru/cpp-beginners/thread1226385.html
Здравствуйте, нужна помощь. Это пример из книги Лафоре ООП С++. Не могу понять почему программа работает, хотя при наследовании классы student и employee объявлены как private. Ведь public методы getdata(), getedu() и putdata(), putedu() должны быть недоступны для объектов классов наследников. Как так? //empmult.cpp //multiple inheritance with employees and degrees #include <iostream> using...
C++ Создать базу из трех сотрудников, где будут храниться их имена суть задачи: нужно создать базу из трех сотрудников, где будут храниться их имена, з.п, должности, дата приема на работу. должность должна быть в перечислении выражена, при чем пользователь должен ввести только первую букву должности, а на выходе должность должна быть написана полностью. все остальное структуры. все значения должны вводиться пользователем а потом выводиться на экран. вот что я... http://www.cyberforum.ru/cpp-beginners/thread1226303.html
C++ Допускается ли такое использование лямбды
Имеется код #include <iostream> using namespace std; int main() { cout << ()->float{return 9.4;}; return 0; }
C++ Вызов шаблонного метода в зависимости от условия
#include <iostream> #include <stack> #include <queue> #include <type_traits> template<typename T> class has_front { template<typename R> struct checker {};
C++ Печать текстового файла http://www.cyberforum.ru/cpp-beginners/thread1226239.html
Пытаюсь распечатать текстовый файл. Использую шаги и функции как написано в MSDN: To begin a print job, call StartDocPrinter. To begin each page, call StartPagePrinter. To write data to a page, call WritePrinter. To end each page, call EndPagePrinter. Repeat 2, 3, and 4 for as many pages as necessary. To end the print job, call EndDocPrinter.
C++ Подскажите самую лёгкую среду или блокнот с компилятором Друзья! Довольно долго писал под линуксом (sublime + консоль). Теперь вернулся на винду и ищу среду. После блокнота и консоли все кажется тяжёлым и не нужным. Следовательно вопрос: подскажите самую лёгкую среду или блокнот с компилятором. Или подскажите как компилировать через консоль. подробнее

Показать сообщение отдельно
de-pre
32 / 31 / 3
Регистрация: 04.07.2013
Сообщений: 232
Записей в блоге: 1
12.07.2014, 14:15     Часть чисел записывается с совсем противоположным знаком, чем они выводятся в консоли
Есть следующий код:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <iostream>
#include <math.h>
#include <fstream>
using namespace std;
void filter(double x[],double y[],int N)
{
    int M = 10; //длина фильтра
    double prop = 20; //частота пропускания
    double zat = 50; //частота затухания
    double diskr = 50000; //частота дискретизации
    double H_real[M] ; //импульсная характеристика практическая
    double H_id[M] ; //идеальная импульсная характеристика
    double W[M] ; //весовая функция
    double fc = (prop + zat)/(2*diskr);
    for(int i = 0; i < M; i++)
    {
        if(i == 0) H_id[i] = 2*M_PI*fc;
        else H_id[i] = (sin(2*M_PI*fc*i))/M_PI*i;
        W[i] = 0.42 - 0.5*cos((2*M_PI*i)/M-1) + 0.08*cos((4*M_PI*i)/M-1); //весовая функция Блэкмана
        H_real[i] = H_id[i] * W[i]; //получили коэффициенты фильтра
    }
    for(int i = 0; i < N; i++)
    {
        y[i] = 0;
        for(int j = 0; j < M - 1; j++)
        {
          y[i] += H_real[j]*x[i-j];
        }
    }
}
 
int main()
{
    int N = 500;
    double x[N];
    double y[N];
    ofstream f;
    f.open("out.txt",ios::out);
    for(int i = 0; i < N; i++)
    {
        x[i] = 5*sin(0.75*M_PI*i);
    }
    filter(x,y,N);
 
    for(int i = 0;i < N;i++)
    {
        cout << y[i] << endl;
        f << y[i] << "," << endl;
    }
    f.close();
}
Я хочу сохранить в файл значения, которые записываются в массив y. Проблема в том, что часть чисел записывается с совсем противоположным знаком,чем они выводятся в консоли,а часть чисел вообще непонятного происхождения,и только числа ближе к концу файла походят на правильные. В чем проблема?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru