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

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

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

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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2016, 13:56     Почему равно нулю?
Посмотрите здесь:

Из заданой марицы A(N,N)удалить строку и столбец, в которых находяться первый элемент, равно нулю. C++
C++ Время выполнения программы равно нулю
C++ Определить, равно ли число (двумерного массива) нулю. Если равно, то вместо нуля записываем указанный символ
Выведите массив на экран и найдите количество элементов, значение которых равно нулю C++
C++ Остановить цикл ввода последовательности, если введенное значение равно нулю.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Igor_s
11 / 11 / 4
Регистрация: 16.07.2014
Сообщений: 53
04.07.2016, 15:11     Почему равно нулю? #21
Эти вектора для чего? они не чем не заполнены, а ты к ним обращаешься.
C++
1
2
y_buf
u_buf
Он и ругается, out_of_range.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
помогите плиз
2 / 2 / 0
Регистрация: 14.05.2015
Сообщений: 40
04.07.2016, 15:14  [ТС]     Почему равно нулю? #22
for (int i = 0; i < dA; dA=0.20; i++) так?

Добавлено через 1 минуту
их надо стереть они вообще не нужны?
Blitzor DDD
12 / 12 / 1
Регистрация: 17.08.2015
Сообщений: 439
04.07.2016, 15:15     Почему равно нулю? #23
помогите плиз, зачем вы убрали строчку dA=size...?

Вы вообще понимаете, что такое цикл и как он работает? Если dA будет равно 0.20, то у вас вообще цикл никогда не отработает. i увеличивается на единицу и цикл крутится до тех пор, пока i не будет равно dA
Igor_s
11 / 11 / 4
Регистрация: 16.07.2014
Сообщений: 53
04.07.2016, 15:16     Почему равно нулю? #24
Напиши задание, что вообще нужно сделать?
_Ivana
2189 / 1394 / 124
Регистрация: 01.03.2013
Сообщений: 4,151
Записей в блоге: 2
04.07.2016, 15:30     Почему равно нулю? #25
И на этом философском вопросе был взят таймаут
помогите плиз
2 / 2 / 0
Регистрация: 14.05.2015
Сообщений: 40
04.07.2016, 15:33  [ТС]     Почему равно нулю? #26
если честно то нет я ничего не понимаю в этом

Добавлено через 40 секунд
создать ARX модель
Blitzor DDD
12 / 12 / 1
Регистрация: 17.08.2015
Сообщений: 439
04.07.2016, 15:49     Почему равно нулю? #27
помогите плиз, хорошо, что честно признаетесь))
Тогда Вам уж точно не следует начинать с таких программ. Начните с чего-нибудь попроще: с циклов, с одномерных массивов и т.д.
помогите плиз
2 / 2 / 0
Регистрация: 14.05.2015
Сообщений: 40
04.07.2016, 15:52  [ТС]     Почему равно нулю? #28
даа конечно но проблема в том что это домашнее задание

Добавлено через 1 минуту
может подскажете примерно неправильные части где нужно исправить
Blitzor DDD
12 / 12 / 1
Регистрация: 17.08.2015
Сообщений: 439
04.07.2016, 16:21     Почему равно нулю? #29
помогите плиз, Вам просто не сделать это сейчас. Закажите программу, не мучайтесь, если даже не понимаете, что такое циклы, то начните с азов, не мучайте себя
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.07.2016, 16:23     Почему равно нулю?
Еще ссылки по теме:

C++ Почему 100/102 равно нулю?
Как правильно создать массив из номеров элементов, значения которых равно нулю C++
C++ Деление двух int равно нулю

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
помогите плиз
2 / 2 / 0
Регистрация: 14.05.2015
Сообщений: 40
04.07.2016, 16:23  [ТС]     Почему равно нулю? #30
да да но мне все равно нужен рабочий код
Yandex
Объявления
04.07.2016, 16:23     Почему равно нулю?
Ответ Создать тему
Опции темы

Текущее время: 01:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru