0 / 0 / 0
Регистрация: 14.05.2015
Сообщений: 15
1

В результате вычислений программа выдает нули(хотя так не должно быть)

12.09.2016, 17:22. Показов 987. Ответов 2
Метки нет (Все метки)

Программа должна посчитать некоторые две величины по формулам, которые проверены аналитически, конечно. Но в результате вычислений одна из величин получается равной нулю, а так не должно быть. Я проверял тот факт, что все величины, необходимые для расчетов не равны нулю и доходят до этой части программы, также до вывода все доходит в подобающем виде, т.е. дело не в том, что я не правильно прописал вывод или что-то ещё подобное. Итак, проверил формулу, проверил программу даже на самые глупые ошибки, но, видимо, все-таки что-то пропустил, идеи уже закончились, помогите пожалуйста.
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
#include <iostream>
#include <cmath>
#include <stdio.h>
#include <conio.h>
using namespace std;
 
int main()
{
    int Z=24;
    int N=1000;
    int n=34;
    setlocale(LC_ALL, "Russian");
 
    double AOQ[Z];
    double ATI[Z];
    float p[Z];
 
    //////Изготовителя
    double Lp[24]={1.0 , 0.8409, 0.7064, 0.5930, 0.4973, 0.4166, 0.3488, 0.2917, 0.2437, 0.2034, 0.1696, 0.1413, 0.1176, 0.0978, 0.0812, 0.0674, 0.0559, 0.0463, 0.0383, 0.0316, 0.0261, 0.0261, 0.0036, 0.0004};
    p[0]=0;
    //cout << "СТОЛБИК P : \n" ;
    for(int i=1; i<=20;i++)
    {
        p[i]=p[i-1]+0.005;
        //cout << "\n" << p[i] <<"\n";
    }
    p[21]=0.1; p[22]=0.15; p[23]=0.2;
    //for(int i=21; i<=23;i++) {cout << "\n" << p[i] <<"\n";}
 
 
 
            ////////////гипергеометрическое распределение
            for(int i=0; i<=23;i++)
            {
                AOQ[i]=((N-n)/N)*p[i]*Lp[i];
                //cout<< "\n" << "AOQ=" << AOQ[i]<< "\n";
                ATI[i]=(n+(N-n)*(1-Lp[i]))/(1-p[i]);
            }
 
 
 
 
      cout<< "РЕЗУЛЬТАТЫ: \n";
      for(int i=0; i<=23;i++)
            {
                cout<< "AOQ=" << AOQ[i] <<"\t";
                cout<< "ATI=" << ATI[i] <<"\n";
            }
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.09.2016, 17:22
Ответы с готовыми решениями:

Ф-ия month всегда возвращает true, хотя так не должно быть
Ф-ия month всегда возвращает true, хотя так не должно быть. В этой ф-ии я должна либо ввести...

В таблице последнее значение 2 столбцов по условию должно быть равно 0, как сделать так, чтобы отображались нули
При построении таблицы последнее значение 2 столбцов по условию должно быть равно 0, как сделать...

При компиляции проекта в VS c++ 2017 ОЧЕНЬ много ошибок. 5000. Хотя так быть не должно!
В общем. Скачал проект, который написан на VS c++ 15. Открыл в 17-м а там не находит множество...

Программа выдает 3 ошибки. Одна из них: IntelliSense: выражение должно быть допустимым для изменения левосторонним значением
#include &lt;iostream&gt; #include &lt;locale.h&gt; using namespace std; struct PList { int info;...

2
1718 / 567 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
12.09.2016, 18:10 2
У Вас в (N - n) / N участвуют целые числа и выражение получается < 1, а при округлении получается 0, что приводит к 0 всего выражения. Приведите числа к другому формату.
1
0 / 0 / 0
Регистрация: 14.05.2015
Сообщений: 15
13.09.2016, 20:32  [ТС] 3
Огромное вам спасибо =)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.09.2016, 20:32
Помогаю со студенческими работами здесь

Неправильный вывод: появляются нули, которых не должно быть
.Программа переводит из 10-ого числа в 16-ую строку и обратно в 10-ое число #include &lt;iostream&gt;...

Как должна быть организована сеть офиса? Что должно быть настроено обязательно, а чего быть не должно?
Добрый день. Сразу оговорюсь, что я инженер-строитель и настройкой сети занимаюсь только потому,...

Коллеги,в программе должно считать выделенные элементы. Считает программа неправильно(должно быть 69.Подскажитегдеошибка
#include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;windows.h&gt; const int...

Syntax error хотя вроде быть не должно
Ругается на пропущенную ';' хотя она стоит. Output: ...

Выходное значение равняется нулю, хотя такого быть не должно
Код, отображение работы программы и таблицы, на которых она основывается во вложении. Простите...

Показано, что занято 90Гб, хотя реально должно быть 7 Гб.
привет всем )... у меня два раздела жесткого диска &quot;С и D&quot;. В разделе С стоит виндоус 7, а на...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru