以前にそのような質問をしたことがありますが、印刷順序が含まれていなかったので、誤解を招くようなものでした.それでコンセプト全体が変わることを学んだので、もう一度質問する方が適切だと思いました.
#include <iostream>
using namespace std;
int main()
{
int a, b, c, i;
cin >> a >> b >> c;
for ( i = 0; i < a; i++)
cout << "*" << endl;
for ( i = 0; i < b; i++)
cout << "*" << endl;
for ( i = 0; i < c; i++)
cout << "*" << endl;
}
出力が次と同じであることを認識しています:
for ( i = 0; i < a + b + c; i++ ){
cout << "*" << endl;
}
したがって、2 3 1 の場合、次のようになります。
*
*
*
*
*
*
私が欲しいのは:
*
* *
* * * //Horizontal distance between 2 shapes don't matter.
また、各列の印刷は別の関数で行う必要があります。
最初のループ:
*
*
2 番目のループ:
*
* *
* *
最後のループ:
*
* *
* * *
*編集: *カーソル操作をまったく使用せずにこれを行う別の解決策があったようです.私の先生は、最初に文字ポインタに文字を格納し、次にその文字ポインタメモリを行ごとに出力することを提案しました.これはうまくいきました. .