posts - 495,  comments - 11,  trackbacks - 0

          //轉載請注明出處:http://hi.baidu.com/jadmin/blog/item/163ed2f8a8e88b0dd8f9fd46.html
          /**
          * @(#)MatrixMultiply.java
          *
          *
          * @author JAdmin
          * @version 1.00 2007/8/21
          */

          import java.util.Scanner;

          public class MatrixMultiply
          {
          public static void main(String[] args)
          {
          ??? int m,n,p;
          ??? System.out.println("請輸入3個矩陣參數m,n,p.示例a[m][n]*b[n][p]=c[m][p]");
          ??? Scanner sr = new Scanner(System.in);
          ??? System.out.print("m=");
          ??? m = sr.nextInt();
          ??? System.out.print("n=");
          ??? n = sr.nextInt();
          ??? System.out.print("p=");
          ??? p = sr.nextInt();

          ??? int[][] a = new int[m][n];
          ??? int[][] b = new int[n][p];
          ??? int[][] c = new int[m][p];

          ??? System.out.println("請輸入數組a[" + m + "][" + n + "]");
          ??? input(a);
          ??? System.out.println("請輸入數組b[" + n + "][" + p + "]");
          ??? input(b);

          ??? //以下開始計算c[][]
          ??? for(int i = 0;i < c.length;i++)
          ???? for(int j = 0;j < c[0].length;j++)
          ????? c[i][j] = getMultiItem(a,b,i,j);

          ??? System.out.println("************The matrix a[][]************");
          ??? display(a);
          ??? System.out.println("************The matrix b[][]************");
          ??? display(b);
          ??? System.out.println("************The matrix c[][]************");
          ??? display(c);
          }

          private static void input(int[][] arr)
          {
          ??? Scanner sr = new Scanner(System.in);
          ??? for(int i = 0;i < arr.length;i++)
          ???? for(int j = 0;j < arr[0].length;j++)
          ?????? arr[i][j] = sr.nextInt();
          }

          private static void display(int[][] arr)
          {
          ??? for(int i = 0;i < arr.length;i++)
          ??? {
          ???? for(int j = 0;j < arr[0].length;j++)
          ????? System.out.print(arr[i][j]+" ");
          ???? System.out.println();
          ??? }
          }

          private static int getMultiItem(int[][] a,int[][] b,int p,int q)
          {
          ??? //計算元素c[p][q]
          ??? int tmp = 0;

          ??? for(int i = 0;i < a[0].length;i++)
          ???? tmp += a[p][i]*b[i][q];
          ??? return tmp;
          }
          }

          posted on 2007-08-21 18:38 jadmin 閱讀(64) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 洪泽县| 英德市| 奇台县| 白城市| 黑河市| 江永县| 沿河| 盘山县| 防城港市| 永善县| 若羌县| 和林格尔县| 贵阳市| 万源市| 汶川县| 大渡口区| 中江县| 汉阴县| 白玉县| 平潭县| 托克托县| 岑巩县| 浦城县| 吴堡县| 汝城县| 报价| 项城市| 海兴县| 宜黄县| 永平县| 绍兴县| 天门市| 托克逊县| 德清县| 平远县| 广州市| 金秀| 新平| 牙克石市| 吉林省| 许昌县|