#を表示する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文で分岐させるべきなのか悩んだ。
結局動いているのでよしにして、次の問題に行く事にした。