判断两个矩阵是否相等的Java程序

1 说明

在此程序中,我们需要判断给定的矩阵是否相等。

当且仅当两个矩阵满足以下条件时,才称它们相等:

  • 两个矩阵应具有相同数量的行和列。
  • 两个矩阵应具有相同的对应元素。

考虑上面的示例,其中矩阵A和B相等,因为它们具有相同的大小和相同的对应元素。 

2 算法思路

  • 步骤1:开始
  • 步骤2:定义row1,col1,row2,col2
  • 步骤3: 初始化第一个矩阵a [] [] = {{1,2,3},{8,4,6},{4,5,7}}
  • 步骤4: 初始化第二个矩阵b [] [] = {{1,2,3},{8,4,6} {4,5,7}}
  • 步骤5: row1 = a.length
  • 步骤6: col1 = a [0] .length
  • 步骤7: row2 = b.length
  • 步骤8: col2 = b [0] .length
  • 步骤9: if(row1!= row2 || col1!= col2)
            则
            打印“否”,
            否则
            转到步骤10;否则,执行步骤10。
  • 步骤10:重复步骤11直到i <row1
            // for(i = 0; i <row1; i ++)
  • 步骤11:重复STEP12直到j <col1
            // for(j = 0; j <col1; j ++)
  • 步骤12:如果(A [i] [j] = B [i] [j]),那么
            标志=假
            破
  • 步骤13: if(flag)
            然后打印“是”,
            否则
            打印“否”
  • 步骤14:结束

3 程序实现

/**
 * 一点教程网: http://www.yiidian.com
 */
public class EqualMatrix    
{    
    public static void main(String[] args) {    
        int row1, col1, row2, col2;    
        boolean flag = true;    
            
        //Initialize matrix a    
        int a[][] = {       
                        {1, 2, 3},    
                        {8, 4, 6},    
                        {4, 5, 7}    
                    };    
              
          //Initialize matrix b    
        int b[][] = {       
                        {1, 2, 3},    
                        {8, 4, 6},    
                        {4, 5, 7}    
            };    
              
        //Calculates the number of rows and columns present in the first matrix    
    
          row1 = a.length;    
        col1 = a[0].length;    
            
        //Calculates the number of rows and columns present in the second matrix    
    
          row2 = b.length;    
        col2 = b[0].length;    
            
        //Checks if dimensions of both the matrices are equal    
        if(row1 != row2 || col1 != col2){    
            System.out.println("Matrices are not equal");    
        }    
        else {    
            for(int i = 0; i < row1; i++){    
                for(int j = 0; j < col1; j++){    
                  if(a[i][j] != b[i][j]){    
                      flag = false;    
                      break;    
                  }    
                }    
            }    
                
            if(flag)    
                System.out.println("Matrices are equal");    
            else    
                System.out.println("Matrices are not equal");    
        }    
    }    
}

以上代码输出结果为:

Matrices are equal

 

热门文章

优秀文章