Я пытаюсь сделать программу на С++ для следующей формулы:
Я сделал часть выбора функции:
#include <iostream>
#include <fstream>
using namespace std;
int choose();
void binomialdistribution();
int main(){
choose();
binomialdistribution();
}
int choose() {
double n = 3;
double k = 0;
double i;
double b;
double value;
while (k <= n){
if (0 == k || n == k) {
return 1;
}
if (k > n) {
return 0;
}
if (k > (n - k)) {
k = n - k;
}
if (1 == k) {
return n;
}
b = 1;
for (i = 1; i <= k; ++i) {
b *= (n - (k - i));
if (b < 0){
return -1;
}
b /= i;
}
return b;
cout << k;
k++;
binomialdistribution();
}
}
void binomialdistribution(){
cout << choose();
}
Мой вывод для k пуст, а мой вывод Choose () равен 00000000000000000000000
Любая помощь будет оценена
return b
выполняете цикл while, прежде чем напечатать k, увеличить его и снова вызватьbinomialdistribution()
. - person AndyG   schedule 03.04.2014choose()
должен возвращать двойной. - person Zeta   schedule 03.04.2014