質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

3回答

828閲覧

図形を出力させたいです

tenB

総合スコア1

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2022/01/10 11:17

Map Width?7
Map Height?5

と数値を入力すれば
+++++++
+~~~~~+
+~~~~~+
+~~~~~+
+++++++

(~部分は空白です)
上記の様な図形を出力させたいです
よろしくお願いします

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

BeatStar

2022/01/10 11:50

殆ど何も考えずに組むだけでは? 別に計算量をO(1)にしろとかじゃないんだし。
guest

回答3

0

解決済みになっていますが、(width, height) が (7,5) の場合はいいとして、
(1,1)、(1,2)、(2,1)、(2,2) の場合、どのように出力させたいのですか?

解決したコードで思い通りに出力できますか?

追記
解決したコードを見せてください。C++ で書いていますか?
次のコードとはかなり違うでしょうね。

C++

1#include <iostream> 2using namespace std; 3 4int main(void) 5{ 6 unsigned w, h; 7 cin >> w >> h; 8 h -= 2, w -= 2; 9 for (int i = h+2; i--; endl(cout)) 10 for (int j = w+2; j--; ) cout.put("+ "[i-1 < h && j-1 < w]); 11}

投稿2022/01/11 01:19

編集2022/01/12 06:18
kazuma-s

総合スコア8224

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ググっただけですが、このあたりが参考になるかと思います。

■ 【C言語】アスタリスクで「四角形」を描画する
https://schlaf.ltd/programming/c/c-asterisk-square/

課題か何かだと思うのでヒントだけ。
四角形を塗りつぶしでなく空白にしたい場合は、下図の黄色い部分の場所の場合に「+」のかわりに「空白」をプロットすれば良いかと思います。

イメージ説明

<追記>
参考までに、空白のエリアを算出する条件を追加したコードを置いておきます。
C++ というより C言語コードですが・・

c++

1#include <stdio.h> 2 3int main(void) 4{ 5 int width; 6 int height; 7 8 printf("Enter the width : \n"); 9 scanf("%d", &width); 10 11 printf("Enter the height : \n"); 12 scanf("%d", &height); 13 14 // 四角形を描画する 15 for(int i=0; i<height; i++){ 16 for(int j=0; j<width; j++){ 17 // 下記範囲の場合、空白とする 18 if(i > 0 && i < (height-1) && j > 0 && j < (width-1)) { 19 printf(" "); 20 } else { 21 printf("+"); 22 } 23 } 24 printf("\n"); 25 } 26 27 return 0; 28}

投稿2022/01/10 12:09

編集2022/01/13 17:02
cx20

総合スコア4633

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

残念ながら、ここではコード作成依頼は受け付けておりません。

まずはあなたなりにコードを書いてみましょう。
そのうえで、わからないことがあればそのコードとともに聞いていただければお答えできるかと思います

投稿2022/01/10 11:57

y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問