| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 513 人关注过本帖
标题:找二维数组中的鞍点:即该位置上的元素在该行最大,在该列最小(也可能没有 ...
只看楼主 加入收藏
玫瑰、
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2015-7-24
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:1 
找二维数组中的鞍点:即该位置上的元素在该行最大,在该列最小(也可能没有鞍点)
哪错啦,输不出来,望大神指点
#include <iostream>
using namespace std;
int main()
{
    int i,j;
    int max,maxj;
    bool flag;
    int a[4][5];
    for(i=0;i<4;i++)
    {
        for(j=0;j<5;j++)
        {
            cin>>a[i][j];
        }
    }
    for(i=0;i<4;i++)
    {
        max=a[i][0];maxj=0;
        for(j=0;j<5;j++)
        {
            if(a[i][j]>=max)
            {max=a[i][j];
            maxj=j;}
            flag=true;
        }
    }
    for(int k=0;k<4;k++)
    {
        if(max>=a[k][maxj])
        {flag=false;
        break;}
        if(max<a[k][maxj])
        {flag=true;
        cout<<max<<" "<<i<<" "<<maxj<<endl;}
    }
    return 0;
}
2015-08-19 11:40
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:20 
你最后一个for里flag未起作用 ,也没看到max值得变化,这个循环设计的不正常,如果一开始max>=a[k][maxj]的话,跳出for,自然就没有输出了。
算法有相当问题。

能编个毛线衣吗?
2015-08-19 12:27
快速回复:找二维数组中的鞍点:即该位置上的元素在该行最大,在该列最小(也可能 ...
数据加载中...
 
   



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

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