解決
しました。プログラムは以下です。アドバイスをくださった方ありがとうございました。とても感謝しています。
C++
1#include "stdafx.h" 2#include <iostream> 3 4using namespace std; 5 6int main() 7{ 8 int x; 9 cout << "入力した数の応じてピラミッドを作ります。\n";//プログラムの説明 10 11 do { //繰り返し開始 12 cout << "数字を入力してください。"; //入力を促す 13 cin >> x; //入力してもらう 14 } while (x <= 0); //入力した数字が1より大きければループからぬけ出す 15 16 for (int i = 1; i <= x; i++) { //周回(改行)のfor文 17 for (int j = 0; j <= x - 1 - i; j++) //空白を作る 18 cout << "_"; 19 for (int t = 1; t <= i * 2 - 1 ; t++) //ピラミッドを作る 20 cout << "*"; 21 cout << "\n";} //改行 22 23 ::system("pause"); //実行結果をすぐに消さないようにする 24} 25
============================================================
追加2
少しアドバイスをもらって、改行をするたびにスペースが1つ減り、☆が2つずつ増えているのがわかりあした。
そこでプログラムを書いてみたのですが、毎回空欄が生成されます。これはどうすればいいでしょうか?
C++
1#include "stdafx.h" 2#include <iostream> 3 4using namespace std; 5 6int main() 7{ 8 int x; 9 cout << "入力した数の応じてピラミッドを作ります。\n"; 10 11 do { 12 cout << "数字を入力してください。"; 13 cin >> x; 14 } while (x <= 0); 15 int q = x; 16 17 for (int i = 0; i <= x; i++) { 18 for (int t = 1; t <= i * 2 - 1 ; t++){ 19 for (int j = 0; j <= q - 1; j++) 20 cout << "_"; 21 cout << "*"; 22 } 23 cout << "\n"; 24 q--; 25 26 }::system("pause"); 27}
======================以前========================
追加
です。参考にさせてもらって、じぶんなりに作ってみたんですが、実行すると一行目は入力した数よりひとつ少なく空欄(_)は入り一つ*が入って改行すると成功するのですが、2行目のはじめの空欄を一つ減らしたあとから、ズレが生じます。
この解決はどうすればいいのですか?
C++
1#include "stdafx.h" 2#include <iostream> 3 4using namespace std; 5 6int main() 7{ 8 int x; 9 cout << "入力した数の応じてピラミッドを作ります。\n"; 10 11 do { 12 cout << "数字を入力してください。"; 13 cin >> x; 14 } while (x <= 0); 15 x -= 1; 16 int q = x; 17 18 cout << x << "\n"; 19 20 for (int i = 0; i <= x; i++) { 21 for (int t = 0; t <= i; t++){ 22 for (int j = 1; j <= q - 1; j++) 23 cout << "_"; 24 cout << "*"; 25 } 26 cout << "\n"; 27 q--; 28 }::system("pause"); 29}
=====================以前==========================
入力した数のピラミッドを作る問題を説いています。
そこでfor文を使ってやるのですがわかりません。
回答を教えて下さい。
C++
1for (int i = 1; i <= x; i += 2) { 2 for (int t = 1; t <= i; t++){ 3 for (int j = 1; j <= q - 1; j++) { 4 cout << "_"; 5 q--; 6 } 7 cout << "*"; 8 } 9 cout << "\n"; 10 }
これを考えたのですが、うまく行きません。
それと、コマンド画面が表示された時にCtrl+F5
を押しているんですが画面がすぐに閉じてしまいます。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/14 14:12 編集