数値をさまざまな形式で表示することは、基本的なコーディングを学習する際の問題の 1 つです。
条件文やループ文などのさまざまなコーディング概念。持っている
さまざまなプログラムでは、アスタリスクなどの特殊文字を使用して三角形や
四角。この記事では、C の正方形と同じように、数値を螺旋状に出力します。
行数 n を入力として受け取り、左上隅から開始します
右に移動し、次に下に移動し、次に左に移動し、次に上に移動し、再び右に移動する、というように移動します。
等
スパイラルパターンと数字
リーリー
この問題を解決するには、サイズ n x n の 2 次元行列を使用します。この場合、n = 7 とします。
次に、左上隅から螺旋状にマトリックスを埋めていきます。最終プリントアウト
マトリックス全体。ここでは最初の行に 1 から 7 までを出力し、その後プロセスがその行を変更しています。
方向は、下に向かって 13 まで移動し、次に左に向かって 19 まで移動し、最後に
24 まで上に進み、その後右に進みます。より良いアルゴリズムを見てみましょう
理解する。
###アルゴリズム###
行数として s を入力します
- s x s 行列を作成し、0 で初期化します
- 番号: = 1
- i、j、mを0に初期化します
- n := s - 1、p := 0、q := s - 1を初期化します
- numがs * sを超えない場合、実行
- p から q までの j の範囲について、
を実行します。
-
mat[ m, j ] := numメートル:=メートル1
- m から n までの i に対して、
を実行します。
-
mat[ i, q ] := num-
番号 := 番号 1qからpまでのjの範囲について、毎回1ずつ減らして実行します。
- mat[ n, j ] := num
- 番号 := 番号 1
-
###仕上げる###
n := n - 1-
i が n から m まで、i を 1 減らして実行します-
mat[ i, p ] := num
- 番号 := 番号 1
-
###仕上げる###
- p := p 1
-
###仕上げる###
i が 0 から s-1 までの場合、次の操作を実行します。
-
j の範囲が 0 から s - 1 の場合、次を実行します。
ディスプレイマット[ i, j ]-
-
###仕上げる###
カーソルを次の行に移動します
###仕上げる###
Example の中国語訳は次のとおりです: - Example
リーリー
###出力###
リーリー
- 出力結果(n=12の場合)
リーリー
###結論は###
数値パターンの表示は、プログラミングを学習する際によくある問題です。
言語。この記事では、要素が配置されている正方形に数字を表示する方法を学びました
C で左上隅から下に向かって螺旋状に印刷します。
n 列の終わりで下に移動し、n 行の終わりで左に移動します。
最初の行に到達したら、行 2 nd- まで移動し、このプロセスを...になるまで何度も繰り返します。
正方形全体を完成させます。他の数値パターン問題とは異なり、2D 配列が必要です。
この問題を効果的に解決してください。
以上が数字の螺旋パターンを出力する C++ プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。