yaya52831 2022-12-03 22:30 采纳率: 0%
浏览 36

找出一个二维数组中的鞍点,即该位置上的元素在所在行为最大,在所在列为最小。如果没有这样的元素,请打印出相

用c语言
找出一个二维数组中的鞍点,即该位置上的元素在所在行为最大,
在所在列为最小。如果没有这样的元素,请打印出相应的信息。
要求:
(1)画出流程图。
(2)编写程序求矩阵中所有的鞍点
(3)要有输入的数据和输出的结果

  • 写回答

1条回答 默认 最新

  • hello_world&& 2022-12-04 08:43
    关注

    代码如下:

    #include<stdio.h>
    int main(void)
    {
         int a[10][10],i,j,m,n,max,maxj,flag1,flag2=0,k;
         scanf("%d %d",&m,&n);
         for(i=0;i<m;i++)
         {
           for(j=0;j<n;j++)
           scanf("%d",&a[i][j]);
         }
         for(i=0;i<m;i++)
         {
           max=a[i][0];
           maxj=0;
           for(j=0;j<n;j++)
           {
             if(a[i][j]>max)
             {
               max=a[i][j];
               maxj=j;
             }
           }
           int k;
           for(k=0;k<m;k++)
           {
                 if(a[k][maxj]<a[i][maxj])
                 {
                       flag1=0;
                       break;
                 }
           }
            if(flag1)
            {
                flag2=1;
              printf("Array[%d][%d]=%d\n",i,maxj,max);
            }
         }
         if(!flag2)printf("None");
         return 0;
     }
     
     
    
    
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 12月3日