1

わかりましたので、正の奇数整数を読み取り、その数値から始まり 1 まで下降し、次の行の最初と最後の桁を切り捨てる逆ピラミッドを出力するコードを作成しようとしています。したがって、7 を入力すると、次のように表示されます。

7654321
 65432
  543
   4

i 番目の行には n-(2i-2) が含まれていますが、その使用方法がわかりません。

ご協力いただきありがとうございます。

これは私がこれまでに持っているものです:

#include <iostream>
using namespace std;

int main()
{
    int n,i,j;

    cout << "Enter a positive odd number: " << endl;
    cin >> n ;

    i=n;
    while(n%2 ==0)
    {
        cout<< "Invalid number." << endl;
        cout<< "Enter a positive odd number: " << endl;
        cin >> n ;
    }

    for(i=n; i<=n && i>0 ; i--)
    {
        for(j=i; j<=i; j--)
        {
            cout<< i%10 ;
        }
        cout<<endl;
    }

    return(0);
}
4

1 に答える 1

5

次のように、画面上の文字位置に番号を付けます。

+----+----+----+----+----+----+----+
| 0 0| 0 1| 0 2| 0 3| 0 4| 0 5| 0 6|
+----+----+----+----+----+----+----+
| 1 0| 1 1| 1 2| 1 3| 1 4| 1 5| 1 6|
+----+----+----+----+----+----+----+
| 2 0| 2 1| 2 2| 2 3| 2 4| 2 5| 2 6|
+----+----+----+----+----+----+----+
| 3 0| 3 1| 3 2| 3 3| 3 4| 3 5| 3 6|
+----+----+----+----+----+----+----+

そこに何が入っているかを確認します

+----+----+----+----+----+----+----+
|  7 |  6 |  5 |  4 |  3 |  2 |  1 |
+----+----+----+----+----+----+----+
|    |  6 |  5 |  4 |  3 |  2 |    |
+----+----+----+----+----+----+----+
|    |    |  5 |  4 |  3 |    |    |
+----+----+----+----+----+----+----+
|    |    |    |  4 |    |    |    |
+----+----+----+----+----+----+----+

x、y、出力する値、および初期値の関係を見つけます。

于 2013-10-09T12:15:28.290 に答える