首页 > 试题广场 >

矩阵转置

[编程题]矩阵转置
  • 热度指数:43232 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解

KiKi有一个矩阵,他想知道转置后的矩阵(将矩阵的行列互换得到的新矩阵称为转置矩阵),请编程帮他解答。


输入描述:

第一行包含两个整数n和m,表示一个矩阵包含n行m列,用空格分隔。 (1≤n≤10,1≤m≤10)

从2到n+1行,每行输入m个整数(范围-231~231-1),用空格分隔,共输入n*m个数,表示第一个矩阵中的元素。



输出描述:
输出m行n列,为矩阵转置后的结果。每个数后面有一个空格。
示例1

输入

2 3
1 2 3
4 5 6

输出

1 4 
2 5 
3 6 
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt(), m = in.nextInt();
        int[][] nums1 = new int[n][m];
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                nums1[i][j] = in.nextInt();
            }
        }
        in.close();
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                System.out.print(nums1[j][i] + " ");
            }
            System.out.println();
        }
    }
}

发表于 2024-09-11 10:48:29 回复(0)
import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt(),m=sc.nextInt();
        int[][] arr=new int[m][n];
        for(int i=0;i<n;i++)
            for(int j=0;j<m;j++)
                arr[j][i]=sc.nextInt();
        for(int i=0;i<m;i++){
            for(int j=0;j<n;j++){
                System.out.printf("%d ",arr[i][j]);
            }  
            System.out.println();
        }  
    }
}

发表于 2022-08-12 21:48:56 回复(0)
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int m = scanner.nextInt();
        int n = scanner.nextInt();
        //输入的数组
        int[][] Martix = new int[m][n];
        while(scanner.hasNext()){
            for(int i = 0;i < m;i++){
                for(int j = 0;j < n;j++){
                    Martix[i][j] = scanner.nextInt();
                }
            }
            for(int a = 0;a < n;a++){
                for(int b = 0;b < m;b++){
                    System.out.print(Martix[b][a] + " ");
                }
                System.out.println("");
            }
        }
    }
}

发表于 2022-07-04 11:12:32 回复(0)
import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            int m = sc.nextInt();
            int n = sc.nextInt();
            int[][] arr = new int[m][n];
            for(int i = 0 ; i < m ; i++){
                for(int j = 0; j < n ; j++){
                    arr[i][j] = sc.nextInt();
                }
            }
            int[][] arr1 = new int[n][m];
            for(int i = 0 ; i < n ; i++){
                for(int j = 0; j < m ; j++){
                    int k = i;
                    int t = j;
                    arr1[i][j] = arr[t][k];
                    System.out.print(arr1[i][j] + " ");
                }
                System.out.println();
            }
        }
    }
}

发表于 2021-10-12 19:54:01 回复(0)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        int[][] array = new int[n][m];
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                array[i][j] = sc.nextInt();
            }
        }
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                System.out.print(array[j][i] + " ");
            }
            System.out.println();
        }
    }
}

发表于 2021-07-16 15:04:45 回复(0)
import java.util.Scanner;
public class Main{
    public static void main(String [] args){
        Scanner sc =new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        int [][] a = new int [n][m];
        int [][] b = new int [m][n];
        for(int i=0;i<n;i++){
            for(int j=0;j<m;j++){
                a[i][j] = sc.nextInt();
            }
        }
        for(int i=0;i<m;i++){
            for(int j=0;j<n;j++){
                b[i][j] = a[j][i];
                System.out.print(b[i][j]+" ");
            }
            System.out.println();
        }
    }
}
发表于 2021-05-08 17:42:39 回复(0)
import java.util.Scanner ;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        int[][] num1 = new int[n+1][m+1];
        int[][] num2 = new int[m+1][n+1];
        for(int i = 1; i<=n ; i++){
            for(int j = 1; j<=m ; j++){
                num1[i][j] = sc.nextInt();
                num2[j][i] = num1[i][j];
            }
        }
        for(int k=1; k<=m ; k++){
            for(int r=1 ; r<=n ; r++){
                System.out.print(num2[k][r]+" ");
            }
            System.out.print("\n");
        }
    }
}

发表于 2021-03-01 16:31:13 回复(0)

import java.util.Scanner;

public class
Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); int a[][]=new int[n+m][n+m] ; for (int i = 0; i <n ; i++) { for (int j = 0; j <m ; j++) { a[i][j]=sc.nextInt(); } } for (int i = 0; i <m ; i++) { for (int j = 0; j <n ; j++) { System.out.print(a[j][i]+" "); if(j==n-1) System.out.println(); } } } }

发表于 2020-03-13 15:17:52 回复(0)