刚刚学到数组,怎么样才能在以下二维数组中找出横向的最大数,竖向最大数,x方向的最大数,在二维数组中最大的数
int array[][]={
{96,90,56,10},
{102,78,87,45},
{23,98,45,78},
{10,45,78,345}
};

解决方案 »

  1.   

    横向的最大数,竖向最大数,x方向的最大数  啥意思?  你就说你想要得到array中的哪几个数据吧
      

  2.   

    int array[][]={ 
             {96,90,56,10}, 
             {102,78,87,45}, 
             {23,98,45,78}, 
             {10,45,78,345} 
             };
            int rowMax=0;
            int colMax=0;
            int left=0;
            int right=0;
            int allMax=0;
            
            //此遍历列的方法只适合规则的二位数组
            for(int i=0;i<array[0].length;i++){
             for(int j=0;j<array.length;j++){
             if(array[j][i]>colMax)
             colMax=array[j][i];
             if(j==array.length-1){
             System.out.println("第"+(i+1)+"列的最大值为:"+colMax);
             colMax=0;
             }
             }
            }
            
            
            for(int i=0;i<array.length;i++){
             for(int j=0;j<array[i].length;j++){
             if(array[i][j]>rowMax)
             rowMax=array[i][j];
             if(j==array[i].length-1){
             System.out.println("第"+(i+1)+"行的最大值为:"+rowMax);
             rowMax=0;
             }
            
             if(i==j&&array[i][j]>left)
             {
             left=array[i][j];
             }
            
             if(j+i+1==array.length&&array[i][j]>right)//
             {
             right=array[i][j];
             }
             if(array[i][j]>allMax)
             allMax=array[i][j];
             }
             if(i==array.length-1){
             System.out.println("左斜值为:"+left);
             System.out.println("右斜值为:"+right);
             }
            }
            
            System.out.println("最大值为:"+allMax);就不写注释了 你自己再多看看 不要知道怎么解决就算完工了 一定要理解