12 行のパスカルの三角形を生成するコードを作成する必要があります。
1 つの部分を除いて、すべて自分で書きました。これは、数値を生成するために使用する式です。そして問題は、カウンターと生成された数値の間の関係が何であるかを理解していないことです (カウンターを使用しているため)。
#include <iostream>
#include <string>
using namespace std;
int main() {
const int rows=12;
int padding, value, fxValue;
for(int rowCounter=0; rowCounter<rows; rowCounter++)
{
fxValue=1;
cout << string((rows-rowCounter)*6, ' ');
for(int fxCounter=0; fxCounter<=rowCounter; fxCounter++)
{
value=fxValue;
fxValue = fxValue*(rowCounter-fxCounter)/(fxCounter+1);
// cout << "fxCounter: "<< fxCounter << endl
// << "rowCounter: " << rowCounter << endl
// << "fxCounter: " << fxCounter << endl
// << "fxValue: " << fxValue << endl;
padding=fxValue/10;
if(padding==0) cout << value << string(11, ' ');
else if(10>padding) cout << value << string(10, ' ');
else if(padding>10) cout << value << string(9, ' ');
}
cout << endl;
}
return 0;
}
問題は次のとおりです。
fxValue = fxValue*(rowCounter-fxCounter)/(fxCounter+1);
著者がこれらの変数を使用するというアイデアを思いついた方法と、それがどのようにうまく機能するかを誰か説明してもらえますか?