andian_seek.java

来自「一个求二维数组鞍点的实例」· Java 代码 · 共 48 行

JAVA
48
字号
public class Andian_seek
{
   public static void main(String args[])
   {
       boolean flag;
       final int SIZE=4;
       int line_flag;
       int row_flag[]={4,4,4,4};
       final int mat[][]={{1,1,1,1},{1,1,1,1},{1,1,1,1},{2,2,2,2}};
       int i,j,k,m=0;
       for(i=0;i<SIZE;i++)
         {
            flag=true;
            line_flag=i;row_flag[0]=0;
            //查找一行最大元素
            for(j=0;j<SIZE;j++)
               if(mat[line_flag][row_flag[0]]<mat[i][j])
                 row_flag[0]=j;
            //查找该行是否有与最大元素相同的元素
            m=0;
            for(j=0;j<SIZE;j++)
               {

                  if(mat[line_flag][row_flag[0]]==mat[line_flag][j])
                    row_flag[m]=j;
                    m++;
               }

            for(j=0;j<SIZE;j++)
            {
              if(row_flag[j]<4)
              {
                //验证该元素是否是鞍点
                for(k=0;k<SIZE;k++)
                  if(mat[line_flag][row_flag[j]]>mat[k][row_flag[j]])
                    flag=false;
            /*if(flag)
               System.out.print(" "+mat[line_flag][row_flag]);
            else
               System.out.println("第"+(line_flag+1)+"行没有鞍点"); */
                //输出所有鞍点
                if(flag)
                  System.out.println("鞍点:"+mat[line_flag][row_flag[j]]+"(位于第"+(line_flag+1)+"行第"+(j+1)+"列)");
               }
             }
          }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?