关于求鞍点的问题!谢谢指教!:)
/*找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点*/
#define m 3
#define n 3
main()
{
int andian(int b[m][n]);
int a[m][n],i,j,x;
printf("请输入一个三行三列的数组\n");
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
x=andian(a[m][n]);
printf("%d\n",x);
}
int andian(int b[m][n])
{
int a,h,i,j,max_line,dian=0;
int c[m][n];
while(i<m)
{ i=0;
max_line=c[i][0];
for(a=0;a<n;a++)
{
if(c[i][a]>max_line)
{
max_line=c[i][a];
for(j=0;j<m;j++)
if(c[j][a]<c[i][a])
dian=c[j][a];
return(dian);
}
}
i++;
}
} /*找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点*/
#define m 3
#define n 3
main()
{
int andian(int b[m][n]);
int a[m][n],i,j,x;
printf("请输入一个三行三列的数组\n");
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
x=andian(a[m][n]);
printf("%d\n",x);
}
int andian(int b[m][n])
{
int a,h,i,j,max_line,dian=0;
int c[m][n];
while(i<m)
{ i=0;
max_line=c[i][0];
for(a=0;a<n;a++)
{
if(c[i][a]>max_line)
{
max_line=c[i][a];
for(j=0;j<m;j++)
if(c[j][a]<c[i][a])
dian=c[j][a];
return(dian);
}
}
i++;
}
}
我的编译结果:
fydream@linux:~/源代码/unit 7> gcc -o dreamdead 78shiyan.c
78shiyan.c: In function `main':
78shiyan.c:12: warning: passing arg 1 of `andian' makes pointer from integer without a cast
fydream@linux:~/源代码/unit 7> ./dreamdead
请输入一个三行三列的数组
1 2 3 4 5 6 7 8 9
1073836960
fydream@linux:~/源代码/unit 7>
清指教!我实在是想不出怎么定义这个函数了!严重的感谢!:)
----------------解决方案--------------------------------------------------------
不好意思!我两个程序重复 了!:)就看前面的那个程序就可以了!:)
----------------解决方案--------------------------------------------------------
#include "stdio.h"
#define M 3
#define N 3
int andian(int b[M][N])
{ int i,j,m,Row,Lie,dian;
for(i=0;i<M;i++)//遍历所有行
{ dian=b[i][0];
Row=i;
for(j=1;j<M;j++)
if(b[i][j]>dian)//找到一行中的最大值
{ dian=b[i][j];
Lie=j;
}
for(m=0;m<M;m++)//判断一行中的最大值是否是所在列的最小值;
if(b[m][Lie]<dian)
break;
if(m==M)
{ printf("鞍点在第%d行,第%d列\n",Row,Lie);
return dian;
}
}
printf("没有鞍点\n");
return 0;
}
void main()
{
int a[M][N],i,j,x;
printf("请输入一个三行三列的数组\n");
for(i=0;i<M;i++)
for(j=0;j<N;j++)
scanf("%d",&a[i][j]);
x=andian(a);
printf("%d\n",x);
}
宏定义最好都大写;
----------------解决方案--------------------------------------------------------
太感谢你了!:)谢谢你的帮助!:)
----------------解决方案--------------------------------------------------------
真的是高手谢谢
----------------解决方案--------------------------------------------------------