XiaoHui.net 笑汇程序员论坛首页
工作并快乐着,职业并休闲着
寻梦的岁月从不言辛苦几许,
不问收获几多……
» 游客:  申请新用户 | 登录 | 会员 | 统计 | 帮助 » XiaoHui.Net 笑汇程序员论坛 | 纯文字版 | 全站索引 | XiaoHui.com


[算法讨论] 请问谁能把这个C++代码合并成一个?

RSS 订阅当前论坛  

上一主题 下一主题
     

标题: [算法讨论] 请问谁能把这个C++代码合并成一个?  
 
xuqiang
小水手
Rank: 1



UID 30136
精华 0
积分 1
帖子 1
阅读权限 10
注册 2007-5-24
状态 离线
请问谁能把这个C++代码合并成一个?

这个程序题目是在一个矩阵(二维数组)中,找到一个元素在该行是最大数,在该列是最小值,如果有就输出那个元素,没有就输出无。请问怎样把下面的两个代码合并成一个?也就是说,应如何判断只输出“无”或那个存在的元素。

第一个

void main()

{int i,e=0,b=0,c=0,a[2][2]={{1,6},{2,3}};

cc:for(i=0;i<2;i++)

{b=a[e][0];

if(a[e]>b)

{b=a[e];

c=i;}}

for(i=0;i<2;i++)

{if(a[e]<=b)

{e++;

if(e<2)

goto cc;}}

cout<<b<<endl;

}

第二个

void main()

{int i,e=0,b=0,c=0,a[2][2]={{1,2},{2,0}};

cc:for(i=0;i<2;i++)

{b=a[e][0];

if(a[e]>b)

{b=a[e];

c=i;}}

for(i=0;i<2;i++)

{if(a[e]<=b)

{e++;

if(e<2)

goto cc;

else

{cout<<"无"<<endl;

break;}}}}

请问如果不用goto语句又应该怎样编写?

谢谢各位了!
Sample Text


[ 本帖最后由 xuqiang 于 2007-5-24 23:29 编辑 ]
2007-5-24 23:27#1
查看资料  Blog  发短消息  顶部
 
黑色毛衣
小水手
Rank: 1



UID 30139
精华 0
积分 4
帖子 4
阅读权限 10
注册 2007-5-25
状态 离线
没看你的代码,这是我的代码...没有goto

#include <iostream.h>

#define LINE 5
#define ROW 5

int a[LINE][ROW] = {10,2,3,4,5,16,7,8,9,4,5,1,2,3,4,14,5,6,1,2,13,1,2,3,9};

bool CheckTheLIne(int temp,int line)
{
        bool bRet = true;
        for(int i = 0;i<ROW;i++)
        {
                if(temp < a[line][i])
                {
                        bRet = false;
                }
        }
        return bRet;
}

int CheckTheRow(int row)
{
        int iRet=a[0][row];
        for(int i = 1;i<LINE;i++)
        {
                if(iRet>a[i][row])
                {
                        iRet = a[i][row];
                }
        }
        return iRet;
}

bool Search()
{
        bool bRet = false;
        for(int i =0;i<ROW;i++)
        {
                int temp = CheckTheRow(i);
                for(int j=0;j<LINE;j++)
                {
                        if(temp == a[j][i])
                        {
                                if(CheckTheLIne( temp,j) )
                                {
                                        cout<<"a["<<j<<"]["<<i<<"]:"<<a[j][i]<<"\n";
                                        bRet = true;
                                }
                        }
                }
        }
        return bRet;
}

void main()
{
        if( !Search())
        {
                cout<<"NULL"<<endl;
        }
}
2007-5-25 15:35#2
查看资料  Blog  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题  


 


所有时间为 GMT+8, 现在时间是 2008-12-2 14:11 Powered by Discuz! 4.1.0 清除 Cookies - XiaoHui.Net 笑汇程序员论坛 - Archiver