0

ねえ、私は 2 次元配列を乗算しようとしていますが、混乱しています。私はこのコードを持っていますが、うまくいかないようです..

 class MatrixMultiply {
    public static void main(String[] args) {
        int array[][] = { {1,2,-2,0}, {-3,4,7,2}, {6,0,3,1} };
        int array1[][] = { {-1,3}, {0,9}, {1,-11}, {4,-5} };
        int array2[][] = new int[2][3];
        int x= array.length;     
        int y= array1.length;

        for(int i = 0; i < x; i++) {
            for(int j = 0; j < y-1; j++) {
                for(int k = 0; k < y; k++){
                    array2[i][j] += array[i][k]*array1[k][j];
                }
            }  
        }

        System.out.println("After we multiply the two arrays: ");

        for(int i = 0; i < x; i++) {
            for(int j = 0; j < y-1; j++) {
                System.out.print(" "+array2[i][j]);
            }  

            System.out.println();
        }
    }
}
4

1 に答える 1

-1

配列を乗算するループを変更します。

for (int i = 0; i < x-1; i++) {
  for (int j = 0; j < array1[0].length; j++) {
    for (int k = 0; k < array[0].length; k++) { 
      array2[i][j] += array[i][k] * array1[k][j];
    }
  }
}
于 2013-01-31T05:17:23.927 に答える