PTA 7-14マトリックス転置(JAVA)

対象となる要件は次のとおりです。
ここに画像の説明を挿入
注:2次元行列が転置されたときのforループの列の初期値は行数です.forループが0から始まる場合、転置された行列は転置されます再び元の行列に。

import java.util.Scanner;

public class Main {
    
    
    public static void main(String[] args) {
    
    
        int flag = 0;
        Scanner scan=new Scanner(System.in);
        int b = scan.nextInt();
        int [][] a = new int[b][b];
        for(int i = 0;i<b;i++)     //初始化二维数组
            for(int j = 0;j<b;j++)
            {
    
    
                a[i][j] = i * b + j + 1;
            }
        for(int i = 0;i<b;i++)   //矩阵转置
            for(int j = i;j<b;j++)
            {
    
    
                int temp = a[i][j];
                a[i][j] = a[j][i];
                a[j][i] = temp;
            }
        for(int i = 0;i<b;i++)   //二维矩阵输出
            for(int j = 0;j<b;j++)
            {
    
    
                if(flag%3==0 && flag!=0)
                    System.out.println();
                System.out.printf("%4d",a[i][j]);
                flag++;
            }
        System.out.println();
    }
}

おすすめ

転載: blog.csdn.net/m0_47470899/article/details/109657764