| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2324 人关注过本帖
标题:关于二维数组鞍点的问题
取消只看楼主 加入收藏
帝师
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:166
专家分:92
注 册:2018-10-11
结帖率:92.31%
收藏
已结贴  问题点数:20 回复次数:0 
关于二维数组鞍点的问题
找出具有m行n列二维数组Array的“鞍点”,即该位置上的元素在该行上最大,在该列上最小,其中1<=m,n<=10。
输入
输入数据有多行,第一行有两个数m和n,下面有m行,每行有n个数。
输出

按下列格式输出鞍点:

Array[i][j]=x

其中x代表鞍点,i和j为鞍点所在的数组行和列下标,我们规定数组下标从0开始。

一个二维数组并不一定存在鞍点,此时请输出None

我们保证不会出现两个鞍点的情况,比如:

3 3
1 2 3
1 2 3
3 6 8

样例输入

3 3
1 2 3
4 5 6
7 8 9

样例输出

Array[0][2]=3


我的代码:     ***问题:我是哪里算法出错了吗,能帮我看看吗,谢谢
#include<stdio.h>
int main()
{
    int g=0;
    int k=0;
    int i,j,t;
    int m,n;
    int a[100][100],b[100];
    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,k=0;i<m;i++,k++)
        {
            b[k]=a[i][0];
            for(j=0;j<n;j++)
            {
                if(b[k]<a[i][j])
                {
                    t=b[k];
                    b[k]=a[i][j];
                    a[i][j]=t;
                    
                }
                b[k+1]=i;   
                b[k+2]=j;
            }
            k+=2;
        }                          
        t=k;
        for(k=0;k<t;k+=3)
        {
            g=0;
            for(i=0;i<m;i++)
            {
                if(b[k]<a[i][k+2])
                    g++;
            }
            if(g==(m-1)) break;
        }
        if(k<t)
            printf("Array[%d][%d]=%d\12",b[k+1],b[k+2],b[k]);
            else
            printf("None\12");
        
        return 0;
}
搜索更多相关主题的帖子: 维数 鞍点 输出 int for 
2019-01-01 15:24
快速回复:关于二维数组鞍点的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015908 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved