2017-12-13 7 views
-3

正方形のスパイラルパターンを作成したい。 私はすでに配列でそれを作る。 私はちょうどパターンを取得しないでください。 スパイラル内部の印刷方法は?正方形のスパイラルパターン(配列なし)を印刷するロジック

入力= 5

##### 
....# 
###.# 
#...# 
##### 

入力= 11

########### 
..........# 
#########.# 
#.......#.# 
#.#####.#.# 
#.#...#.#.# 
#.#.###.#.# 
#.#.....#.# 
#.#######.# 
#.........# 
########### 
+3

他のユーザーがあなたを助けるために何らかのコードを提供する必要があります。 – Gus

+1

これは宿題のようです。これまでに何を試しましたか? – sorifiend

+0

私はこれを外側スパイラルに対して試しました [link](https://ideone.com/fork/RarhZZ) –

答えて

1

別の角度から問題を見てみてください。あなたはあなたが得る側からこのパターンを見れば:今すぐ(入力11用)

#########.# (1) 
#.......#.# (2) 
#.#####.#.# (3) 
#.#...#.#.# (4) 
#.#.#.#.#.# (5) 
#.#.#.#.#.# (6) 
#.#.###.#.# (7) 
#.#.....#.# (8) 
#.#######.# (9) 
#.........# (10) 
########### (11) 

を、このパターンの下部には、(行6-11)を描画することは容易です。上位5行の差分行列が

00000000010 (diff for line 1 and 11) 
00000000100 (diff for line 2 and 10) 
00000001000 (diff for line 3 and 9) 
00000010000 (diff for line 4 and 8) 
00000100000 (diff for line 5 and 7) 

ているときに、すべてのあなたがループを行うには、左 - あなたは再び同じ行を描画しますが、逆さまこの時間はあなたがあなたの欲求出力のために非常に似て得ればということ お知らせ配列の上部にある記号をそれらの場所に置き換えます。この行列は簡単なパターンです。

+0

ありがとうございます。 @ –

+0

質問者が自分の仕事を示さないような低品質の質問には答えないことをお勧めします。 –