| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1243 人关注过本帖
标题:关于求鞍点的问题!谢谢指教!:)
只看楼主 加入收藏
狂想曲
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2004-12-7
收藏
 问题点数:0 回复次数:4 
关于求鞍点的问题!谢谢指教!:)
/*找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点*/ #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>
清指教!我实在是想不出怎么定义这个函数了!严重的感谢!:)
搜索更多相关主题的帖子: 鞍点 指教 
2004-12-07 11:09
狂想曲
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2004-12-7
收藏
得分:0 
不好意思!我两个程序重复  了!:)就看前面的那个程序就可以了!:)
2004-12-07 11:15
workhard
Rank: 1
等 级:新手上路
帖 子:96
专家分:0
注 册:2004-11-17
收藏
得分:0 

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

宏定义最好都大写;


2004-12-07 13:52
狂想曲
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2004-12-7
收藏
得分:0 
太感谢你了!:)谢谢你的帮助!:)
2004-12-07 23:10
ababy000
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-12-8
收藏
得分:0 
真的是高手谢谢
2006-12-08 15:17
快速回复:关于求鞍点的问题!谢谢指教!:)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.049326 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved