#を表示する2

問題

#を以下のように表示せよ

       ##

     ####

  ######

 ########

 ########

  ######

   ####

     ##

 

解答と過程

d•カウントアップした数字を出すプログラム

d•2づつカウントアップ

d•カウントアップして、カウントの数だけカウントの数字を出力する

d •左に入れるスペースの計算

d •左にスペースを入れる

d •逆さまにする

d•順と逆順を結合する

d•シャープと置き換える

 

//シャープと置き換える

#include <iostream>

using namespace std;

 

int main(){

    for (int Num = 2; Num <= 8; Num += 2){

        for (int sRepeat = 0; sRepeat < ((10 - Num) / 2); sRepeat++) {

            cout << " " << flush;

        }

        for (int repeat = 0; repeat < Num; repeat++) {

            cout << "#" << flush;

        }

        cout << endl;

    }

    

    for (int Num = 8; Num >= 2; Num -= 2){

        for (int sRepeat = 0; sRepeat < ((10 - Num) / 2); sRepeat++) {

            cout << " " << flush;

        }

        for (int repeat = 0; repeat < Num; repeat++) {

            cout << "#" << flush;

        }

        cout << endl;

    }

 

}

 

 

 

 

//逆さまにする

/*

#include <iostream>

using namespace std;

 

int main(){

 for (int Num = 8; Num >= 2; Num -= 2){

 for (int sRepeat = 0; sRepeat < ((10 - Num) / 2); sRepeat++) {

 cout << " " << flush;

 }

 for (int repeat = 0; repeat < Num; repeat++) {

 cout << Num << flush;

 }

 cout << endl;

 }

 

}

*/

 

/*

 #include <iostream>

 using namespace std;

 

 int main(){

 for (int Num = 2; Num <= 8; Num += 2){

 for (int sRepeat = 0; sRepeat < ((10 - Num) / 2); sRepeat++) {

 cout << " " << flush;

 }

 for (int repeat = 0; repeat < Num; repeat++) {

 cout << Num << flush;

 }

 cout << endl;

 }

 

 }

*/

 

 

/*

//左に入れるスペースの計算

#include <iostream>

using namespace std;

 

int main(){

    for (int Num = 2; Num <= 8; Num += 2){

        cout << Num << "   " << 10 - Num  << "   " << (10  - Num) / 2 << endl;

    }

}

*/

 

/*

//カウントアップして、カウントの数だけカウントの数字を出力する

 #include <iostream>

 using namespace std;

 

 int main(){

 for (int Num = 2; Num <= 8; Num += 2){

 for (int repeat = 0; repeat < Num; repeat++) {

 cout << Num << flush;

 }

 cout << endl;

 }

 }

*/

 

/*

//2づつカウントアップ

 #include <iostream>

 using namespace std;

 

 int main(){

 for (int Num = 0; Num <= 10; Num += 2){

 cout << Num << endl;

 }

 }

 */

 

 

/*

//カウントアップした数字を出すプログラム

#include <iostream>

using namespace std;

 

int main(){

    for (int Num = 0; Num <= 10; Num++){

        cout << Num << endl;

    }

}

 

*/

 

 

感想

前回よりも素直に問題を解けて行けた。

ただ、完成版の最後に似たような処理があり、

これをif文で分岐させるべきなのか悩んだ。

結局動いているのでよしにして、次の問題に行く事にした。