2013-10-07 3 views
0

2 개의 행렬을 더하고 싶지만 수학은 틀리며 올바른 방법에 대한 아이디어가 없다고 생각합니다. 나는이 알아낼 수 없습니다 절대적으로 바보가 된 기분,하지만 내 머리가 아파 내가 옵션대수학 : 2 개의 행렬을 더한다

대신
import java.util.Scanner; 
public class AddMatrices 
{ 
    public static void main(String[] args) 
    { 
     Scanner input = new Scanner(System.in); 

     int N = 3; 

     System.out.print("Enter matrix1: "); 
     double[][] matrix1 = new double[3][3]; 
     for (int i = 0; i < matrix1.length; i++) { 
     for (int j = 0; j < matrix1[i].length; j++) { 
      matrix1[i][j] = input.nextDouble(); 
     } 
     } 

     System.out.print("Enter matrix2: "); 
     double[][] matrix2 = new double[3][3]; 
     for (int i = 0; i < matrix1.length; i++) { 
     for (int j = 0; j < matrix1[i].length; j++) { 
      matrix2[i][j] = input.nextDouble(); 
     } 
     } 

     double[][] resultMatrix = addMatrix(matrix1, matrix2); 
     System.out.println("The addition of the matrices is "); 
     printResult(matrix1, matrix2, resultMatrix, '+'); 
    } 

    public static double[][] addMatrix(double[][] m1, double[][] m2) 
    { 
     double[][] result = new double[m1.length][m1[0].length]; 
     for (int i = 0; i < result.length; i++) { 
     for (int j = 0; j < result[0].length; j++) 
      m1[i][j] += m2[i][j]; 
     } 
     return result; 
    } 

    public static void printResult(double[][] m1, double[][] m2, double[][] m3, char op) 
    { 
     for (int i = 0; i < m1.length; i++) { 
     for (int j = 0; j < m1[0].length; j++) { 
      System.out.print(" " + m1[i][j]); 
     } 
     if (i == m1.length/2) 
      System.out.print(" " + op + " "); 
     else { 
      System.out.print(" "); 
     } 
     for (int j = 0; j < m2[0].length; j++) { 
      System.out.print(" " + m2[i][j]); 
     } 
     if (i == m1.length/2) 
      System.out.print(" = "); 
     else { 
      System.out.print(" "); 
     } 
     for (int j = 0; j < m3[0].length; j++) { 
      System.out.print(" " + m3[i][j]); 
     } 
     System.out.println(); 
     } 
    } 
} 
+1

예상되는 결과는 무엇이며 결과는 어떤 결과를 얻고 있습니까? 또한 산책을하고, 머리를 깨끗이하는 경이로움을 피하십시오. – MikeTheLiar

+0

@mikeTheLiar +1 산책하기. 나는 보통 방에서 마치 광인처럼 속도를 낸다 : – Cruncher

+0

결과는 행렬 1, 2의 균일 한 출력과 그것들을 더한 결과이다. 내 인쇄 결과가 모두 미쳐 나온다 – majortom84

답변

0

에서 모든 해요 :

m1[i][j] += m2[i][j]; 

은 수행

result[i][j] = m1[i][j] + m2[i][j]; 
+0

하! 내가 참조! Dang, 때때로 나는 이걸 잘 못하는 것 같아. 그래서 간단 해. – majortom84