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

Почему равно нулю? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Из числа float получить два int-a: целую и дробную части http://www.cyberforum.ru/cpp-beginners/thread1775489.html
Всем привет. Как можно из числа float получить два inta. приведу пример: есть 1,45 и 2,397. из первого нужно получить 1 и 45, из второго 2 и 397...
C++ Необработанное исключение по адресу 0x008B94C5. 0xC0000005: нарушение прав доступа при чтении по Здравствуйте! Функция должна искать локальные минимумы массива. То есть это элементы,которые меньше своих соседей. Дело в том,что функция ищет эти элементы,но в конце выдает ошибку "Необработанное исключение по адресу 0x008B94C5 в Проект2.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xFDFDFE0D." Помогите,пожалуйста! Вот сам код #include <iostream> // 1 #include <iomanip> // 2... http://www.cyberforum.ru/cpp-beginners/thread1775488.html
Создание массива элементов класса C++
Добрый день. Возможно ли сделать следующий финт: class Device { byte mGroup; public: Device(byte gr=0) { mGroup=gr;
C++ Указание типа переменной и ссылки при объявлении\инициализации
Здравствуйте! Возник такой вопрос-зачем нужно указывать тип ссылки при ее инициализации? При объявлении обычной переменной, компилятору нужно знать тип этой переменной, чтобы выделить объем памяти, достаточный для хранения этой переменной, а так же при каких-либо операциях (например, деления, чтобы привести к нужному типу в случае несоответствия типов). Но зачем нужно указывать тип ссылки, если...
C++ механизм наследования http://www.cyberforum.ru/cpp-beginners/thread1775407.html
Есть такой код: #include <iostream> using namespace std; class base { protected: int i, j; // private to base, but accessible to derived public: void set(int a, int b) { i = a; j = b; }
C++ Обратная польская запись Пожалуйста помогите, всю голову себе сломал. Задание: "Обеспечить перевод инфиксного выражения в ОПЗ и вычислить его результат. Входные данные в файле. Использовать алгоритм сортировочной станции (Эдсгер Дейкстра). В выражении могут быть целые положительные числа, знаки операции(*/+-), круглые скобки. При реализации алгоритма разработать класс Стек на основе расширяющегося массива.)" подробнее

Показать сообщение отдельно
помогите плиз
2 / 2 / 0
Регистрация: 14.05.2015
Сообщений: 40
04.07.2016, 13:56     Почему равно нулю?
Здравствуйте!У меня проблемы с кодом!Оно всегда равняется нулю,а должно к числу.Помогите пожалуйста

C++
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include <iostream>
#include <vector>
using namespace std;
class SISO
{
  virtual float simulate(float u) = 0;
};
 
class ARX: public SISO
{
private:
    vector<float> B;
    vector<float> A;
    int k;
    int dB, dA;
    vector<float> y_buf;
    vector<float> u_buf;
 
public:
 
    ARX()
    {
        k = 1;              
 
        dB = B.size();     
        dA = A.size();     
        for (int i = 0; i < dA; i++)    
        {
            A.push_back(0.36);
            A.push_back(0.20);
        }
        for (int i = 0; i < dB+k; i++)  
        {
            B.push_back(0.36  );
            B.push_back(0.20);
        }
    }
 
    void printTF()
    {
        cout << "K = z^(-" << k << ")*( ";
        for (int i = 0; i < B.size(); i++)
        {
            printf("%+.2fz^(%d) ", B[i], -i);
        }
        cout << ") / ( ";
        for (int i = 0; i < A.size(); i++)
        {
            printf("%+.2fz^(%d) ", A[i], -i);
        }
        cout << ")" << endl;
    };
 
    float simulate(float u)
    {
        float y = 0;
       
 
        
 
        for (int i = 1; i < dA; i++)   
        {
            y -= A[i] * y_buf.at(y_buf.size()-i);
           
        }
        for (int i = 0; i < dB; i++)    
        {
            y += B[i] * u_buf.at(u_buf.size()-k - i);
           
        }
        cout << "y = " << y << endl;
 
        return y;
    }
   
};
 
 
int main()
{
    
    ARX ols;
    ols.printTF();          
    ols.simulate(0);
    for (int i = 0; i < 40; i++)
        ols.simulate(1);   
 
    system("pause");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru