現在、取り組んでいるパスカルの三角形関数に問題があります。私の主な問題は、半分のピラミッドのようには形成されず、ほぼ曲線のように形成されることです。これまでのコードは次のとおりです。numRows = 6を設定した最後に現在の出力を含めます。
#include <iostream>
#include <math.h>
using namespace std;
double factorial(double x)
{
int i;
double x_new=1;
for (i=x; i>=1; i--)
{
x_new*=i;
}
return x_new;
}
double Pascal(double n, double p){
double d=n-p;
double fact_1;
double fact_2;
double fact_3;
fact_1=factorial(n);
fact_2=factorial(p);
fact_3=factorial(d);
return fact_1/(fact_2*fact_3);
}
int main()
{
int n;
double numRows;
double numCollumns;
cout << "Enter number of rows: ";
cin >> numRows;
n=numRows+1;
for (numRows=0; numRows<n;numRows++)
{
for(numCollumns=0; numCollumns<=numRows;numCollumns++)
{
cout << Pascal(numRows, numCollumns) << " ";
}
cout << endl;
}
}
//this is the output of the function when numRows is set to 6:
// 1
// 1 1
// 1 2 1
// 1 3 3 1
// 1 4 6 4 1
// 1 5 10 10 5 1