m0_65415775 2021-12-16 16:41 采纳率: 33.3%
浏览 28
已结题

请问这个代码为什么能运行但是什么也无法输出?

题目是“找出一个5行4列的二维数组的“鞍点”,即该位置的元素在该行上最小,在该列上最大。输出该元素的值和行列号,如没有鞍点,则输出“没有找到鞍点”。”

问题相关代码
#include<iostream>
using namespace std;
int main()
{
    int a[5][4],i,j;
    void andian(int array[5][4]);
    for(i=0;i<=4;i++)
        for(j=0;j<=3;j++)
            cin>>a[i][j];
    andian(a);
    return 0;
}
void andian(int array[5][4])
{
    int i,j;
    int min(int,int,int,int);
    int max(int,int,int,int,int);
    for(i=0;i<=4;i++)
        for(j=0;j<=3;j++)
            if(array[i][j]==min(array[i][0],array[i][1],array[i][2],array[i][3])&&array[i][j]==max(array[0][j],array[1][j],array[2][j],array[3][j],array[4][j]))
                cout<<i<<" "<<j<<endl;
}
int min(int a,int b,int c,int d)
{
    int y=0;
    if(a<y)y=a;
    if(b<y)y=b;
    if(c<y)y=c;
    if(d<y)y=d;
    return(y);
}
int max(int a,int b,int c,int d,int e)
{
    int x=0;
    if(a>x)x=a;
    if(b>x)x=b;
    if(c>x)x=c;
    if(d>x)x=d;
    if(e>x)x=d;
    return(x);
}

运行结果及报错内容输入

无论输入什么都没有输出结果。

我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

2条回答 默认 最新

  • 书山客 2021-12-17 10:07
    关注
    
    #include<iostream>
    using namespace std;
    int main()
    {
        int a[5][4], i, j;
        void andian(int array[5][4]);
        for (i = 0; i <= 4; i++)
            for (j = 0; j <= 3; j++)
                cin >> a[i][j];
        andian(a);
        return 0;
    }
    void andian(int array[5][4])
    {
        int i, j;
        int min(int, int, int, int);
        int max(int, int, int, int, int);
        for (i = 0; i <= 4; i++)
            for (j = 0; j <= 3; j++)
                if (array[i][j] == min(array[i][0], array[i][1], array[i][2], array[i][3]) && array[i][j] == max(array[0][j], array[1][j], array[2][j], array[3][j], array[4][j]))
                    cout << i << " " << j << endl;
    }
    int min(int a, int b, int c, int d)
    {
        int y = a;
        if (a < y)y = a;
        if (b < y)y = b;
        if (c < y)y = c;
        if (d < y)y = d;
        return(y);
    }
    int max(int a, int b, int c, int d, int e)
    {
        int x = a;
        if (a > x)x = a;
        if (b > x)x = b;
        if (c > x)x = c;
        if (d > x)x = d;
        if (e > x)x = d;
        return(x);
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月25日
  • 已采纳回答 12月17日
  • 创建了问题 12月16日