0 より大きい奇数値を入力してください。入力方法は理解しています。
5 を入力すると、次のような三角形が出力されます。
54321
432
3
11 を入力した場合:
10987654321
098765432
9876543
and so on
入力を 10 で割って余りを出力する必要があることがわかりましたが、カウントダウンの出力に問題があります。
for (i = n; i >= 1; i--)
i = i - 1;
0 より大きい奇数値を入力してください。入力方法は理解しています。
5 を入力すると、次のような三角形が出力されます。
54321
432
3
11 を入力した場合:
10987654321
098765432
9876543
and so on
入力を 10 で割って余りを出力する必要があることがわかりましたが、カウントダウンの出力に問題があります。
for (i = n; i >= 1; i--)
i = i - 1;
for ループ (0 から開始) を使用し、各反復で i から string.length()-1 までの部分文字列を出力し、以下のコードに従って、設定された幅を使用してインデントを増やします。
string num = "10987654321";
for (int i = 0; i < num.length(); ++i){
cout << setw(i) << right << num.substr(i, num.length()-i) << endl;
}
これにより、目的の出力が得られるはずです。(「<< 右 <<」が機能しない場合は、「右」と「左」を入れ替えてください)
また、 setw() を使用するにはiomanip を含める必要があります
int num = 10987654321;
int numSpaces = 1;
cout << num << endl;
for (int i = 0; i >= 1; i--)
{
for (int j = 0; j < numSpaces; j++)
{
cout << " ";
}
cout << num % 10 << endl;
num = num / 10;
numSpaces++;
}
美しい三角形の出来上がり :)