矩阵乘积

  • Post author:
  • Post category:其他


输入一个 m*n的矩阵 和一个n*p的矩阵,要求打印出两个矩阵的乘积。

代码如下:
    public class Test {
      public static void main(String[] args) {
      System.out.println("请输入m行n列以及n行p列的矩阵:");
      Scanner sc=new Scanner(System.in);
      int m=sc.nextInt();//输入m
      int n=sc.nextInt();//输入n
      int p=sc.nextInt();//输入P
      int array[][]=new int[m][n];//矩阵为m行p列 array
      int array1[][]=new int[n][p];//矩阵为n行p列 array1
         for(int i=0;i<m;i++){
           for(int j=0;j<n;j++){
             array[i][j]=sc.nextInt();//向矩阵array输入对应的元素
                System.out.print(array[i][j]+" ");//此处可注释
          }System.out.println();
         }
         for(int i=0;i<n;i++){
           for(int j=0;j<p;j++){
             array1[i][j]=sc.nextInt();//向矩阵array1输入对应的元素
             System.out.println(array1[i][j]+" ");//此处可注释
           }System.out.println();
          }
          int [][]c =new int[m][p];//创建一个新的矩阵c用于存放之后的乘积
          for(int i=0;i<m;i++){//矩阵c有i行
             for(int j=0;j<p;j++){//矩阵c有j列
                 for(int k=0;k<n;k++){//矩阵a的列
                   c[i][j]+=array[i][k]*array1[k][j];//向矩阵c中传递元素
                 }
             }
          } 
          mul(c);//调用mul方法
        }
        public static void mul(int[][]c) {//遍历输出
          int m=c.length;
          int p=c[0].length;
          for(int i=0;i<m;i++){
             for(int j=0;j<p;j++){
                System.out.print(c[i][j]+" ");
             }
               System.out.println();
          }
        }
        }



版权声明:本文为resulet原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。