Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaで行列をZ字形に出力するプログラムの書き方

行列(マトリックス)を「Z」の字形に沿って出力するには、1行目を左から右へ右端から左下への対角要素最終行を左から右へ の順に要素を表示していきます。本記事では、その処理を実現するJavaプログラムをサンプルコードとともに解説します。

サンプルコード

import java.lang.*;
import java.io.*;
public class Demo{
    public static void z_shape(int my_arr[][], int n){
        int i = 0, j, k;
        // 1行目を左から右へ出力
        for (j = 0; j < n - 1; j++){
            System.out.print(my_arr[i][j] + " ");
        }
        // 右上から左下への対角要素を出力
        k = 1;
        for (i = 0; i < n - 1; i++){
            for (j = 0; j < n; j++){
                if (j == n - k){
                    System.out.print(my_arr[i][j] + " ");
                    break;
                }
            }
            k++;
        }
        // 最終行を左から右へ出力
        i = n - 1;
        for (j = 0; j < n; j++)
            System.out.print(my_arr[i][j] + " ");
        System.out.print("\n");
    }
    public static void main(String[] args){
        int my_arr[][] = { { 34, 67, 89, 0},{ 0, 1, 0, 1 },{ 56, 99, 102, 21 },{78, 61, 40, 99}};
        System.out.println("The matrix is ");
        z_shape(my_arr, 4);
    }
}

実行結果

The matrix is
34 67 89 0 0 99 78 61 40 99

プログラムの解説

Demo クラスには、行列をZ字形に走査して表示するメソッド z_shape が定義されています。このメソッドの処理は、次の3つのステップで構成されています。

1. 上段(1行目)の出力

最初のforループでは、配列のインデックス i = 0 の行、つまり1行目の要素を左から右へ順に出力します。これがZ字の「上の横線」に相当します。

2. 対角線部分の出力

次の二重ループでは、変数 k を使って各行の右端から1つずつ位置をずらしながら、右上から左下へ向かう対角線上の要素だけを出力します。これがZ字の「斜め線」に相当します。

3. 下段(最終行)の出力

最後に、インデックス i = n - 1 の行、つまり最終行の要素を左から右へすべて出力します。これがZ字の「下の横線」に相当します。

main メソッド内では4×4の二次元配列を定義し、それを引数として z_shape メソッドを呼び出しています。実行すると、Z字形に並べ替えられた行列の要素がコンソールに表示されます。

  1. Javaで配列を出力する方法|初心者向けに3つの手法を解説

    Javaで配列を出力する方法 配列とは、同じデータ型の要素を一定数だけ順序付けて格納できるJavaのデータ構造です。 Java開発者はデータを保存する際によく配列を使用します。例えば、スーパーマーケットで販売しているシリアルバーの仕入先5社の名前を配列に格納したり、地元の湖に生息する9種類の魚の名前を別の配列に格納したりできます。 Javaで配列を扱っていると、配列の中身をコンソールに出力したい場面に出くわすことがあります。その方法は複数あります。 この記事では、具体例を使いながら、Javaで配列を出力するための3つのアプローチを解説します。読み終える頃には、Javaでの配列出力をマス

  2. C言語で正方行列をZ字形に表示するプログラム

    プログラムの概要本記事では、C言語を使って正方行列の要素を「Z」の字形に沿って出力するプログラムを解説します。正方行列とは、行数と列数が等しい行列のことです。n行n列の行列は「n次の正方行列」と呼ばれ、2×2、3×3、4×4などの行列が該当します。Z字形出力のアルゴリズム行列の要素をZ字形で表示するには、次の3つの部分を順番に出力します。最上行(1行目):左端から右端までのすべての要素対角成分:右上から左下へ向かう斜めの要素(両端の角は除く)最下行(最終行):すべての要素これらを順につなげると、アルファベットの「Z」の形が完成します。3×3の行列の場合: a00 a01 a02