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

题目是“找出一个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);
}

运行结果及报错内容输入

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

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

#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);
}

int x=0;
if(a<x)x=a;
改为x=a;
先让x的值是第一个数,否则所有数都必须是自然数,没法判断负数。
-=-=-=
min函数的问题更大,你直接让y=0,那你输入的数据如果都大于0,无论你怎么计算,最小值都会是0,那当然没法相等。