注册 登录
编程论坛 C++教室

请高手指教这个问题

wluhao 发布于 2012-10-13 14:55, 270 次点击
#include<iostream>
using namespace std;
int main()
{int a[4][5],i,j,max,m,n;
bool flag;
 for(i=0;i<4;i++)
     for(j=0;j<5;j++)
         cin>>a[i][j];
      for(i=0;i<4;i++)
      {    m=0;
          max=a[i][m];
          for(j=0;j<5;j++)
              if(max<a[i][j])
              { m=j;
              n=i;
                  max=a[n][m];
                  for(i=0;i<4;i++)
                  if(a[i][m]<a[n][m])
                  {    break;
                  flag=0;}
                   else
                       flag=1;
               
                  
              }
      }
      if (flag=1)
         
          cout<<"a["<<n<<"]["<<m<<"]"<<"="<<a[n][m];
          else
          cout<<"it dose not exit";
          cout<<endl;         
return 0;请高手指出这个程序的错误,无鞍点时运行不了
2 回复
#2
oncoldrain2012-10-13 21:48
程序代码:
#include<iostream>
using namespace std;
int main()
{
    int a[4][5],i,j,x,max,m,n;
    bool flag;
    for(i=0;i<4;i++)
        for(j=0;j<5;j++)
            cin>>a[i][j];

    for(i=0;i<4;i++)
    {  
          m=0;
          max=a[i][m];
          for(j=0;j<5;j++)
              if(max<a[i][j])
              { m=j;
                n=i;
                  max=a[n][m];
                  for(x=0;x<4;x++)    //上面用i了 这里不能用吧 
                  if(a[x][m]<a[n][m])
                  {
                      flag=0;
                      break;
                  }
                  else
                      flag=1;                  
              }
      }  

      if (flag=1)        
          cout<<"a["<<n<<"]["<<m<<"]"<<"="<<a[n][m];
      else
          cout<<"it dose not exit";
      cout<<endl;
      return 0;
}


[ 本帖最后由 oncoldrain 于 2012-10-13 21:55 编辑 ]
#3
小糊涂神c302012-10-14 13:47
for(i=0;i<4;i++)          //这里i的值在下面被改变
      {    m=0;
          max=a[i][m];
          for(j=0;j<5;j++)
              if(max<a[i][j])
              { m=j;
              n=i;
                  max=a[n][m];               //这三行好啰嗦    max=a[i][j]就行了
                  for(i=0;i<4;i++)               //改变了i的值 换一个变量
                  if(a[i][m]<a[n][m])
                  {    break;
                  flag=0;}
                   else
                       flag=1;
              }
      }
总体感觉代码有点乱!
1