| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 539 人关注过本帖
标题:有道挺变态的题,求大神做出来、、
只看楼主 加入收藏
神软通天丶
Rank: 1
等 级:新手上路
帖 子:13
专家分:7
注 册:2013-11-4
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
有道挺变态的题,求大神做出来、、
编写程序,找出一个n行m列二维数组中的鞍点,即该位置上的元素在该行上最大,在该列最小,也可能没有鞍点。。。。
搜索更多相关主题的帖子: 编写程序 元素 
2013-12-13 16:20
pangshch
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:2
帖 子:443
专家分:1966
注 册:2013-4-9
收藏
得分:4 
这就叫变态了?
标题党.
2013-12-13 16:29
砖家的谎言
Rank: 12Rank: 12Rank: 12
等 级:禁止访问
威 望:30
帖 子:693
专家分:3898
注 册:2013-12-6
收藏
得分:4 
什么事鞍点,没听过。

我不是砖家,要努力成为砖家。
2013-12-13 16:31
砖家的谎言
Rank: 12Rank: 12Rank: 12
等 级:禁止访问
威 望:30
帖 子:693
专家分:3898
注 册:2013-12-6
收藏
得分:0 
在网上看到一个求鞍点的方法,你看下
C语言求鞍点代码
#include "stdio.h"
#include "conio.h"
#include "malloc.h"
#define TRUE 1
#define FALSE 0
#define OK 0
#define ERROR 1
#define MAXX 80
void Print(int * const pMatrix, const int m, const int n);
void Input(const int * const pm, const int * const pn);
void CreatTureMatrix(int ** const pMatrix,int ** const pTrueMatrixconst, const int m, const int n);
OutPrint(int ** const pMatrix, int ** const pTrueMatrix, const int m, const int n );
int main(void)
{
system("cls");
{
const int m = FALSE, n = FALSE;
Input(&m, &n);
{
int * pMatrix = NULL, * pTrueMatrix = NULL;
CreatTureMatrix(&pMatrix, &pTrueMatrix, m, n);
printf("\nMatrix is :\n");
Print(pMatrix, m , n);
printf("\nSaddle point Ture Matrix is :\n");
Print(pTrueMatrix, m, n);
OutPrint(&pMatrix, &pTrueMatrix, m, n);
}
}
getch();
return (OK);
}
void Print(int * const pMatrix, const int m, const int n)
{
int * p = NULL;
for(p = pMatrix; p < pMatrix + m*n; ++p)
{
printf("%5d", *p);
if( !( (p - pMatrix)%n- (n-1) ) )
{printf("\n"); }
}
}
void Input(const int * const pm,const int * const pn)
{
printf("Please enter a matrix of rows, columns: ");
{
int flag = TRUE;
while(flag)
{
if(scanf("%d%d", pm, pn) - 2)
{
flag = TRUE;
printf("Worry enter,retry!\n");
fflush(stdin);
}
else if( (*pm<=0 || *pm>=10) && (*pn<=0) || (*pn>=10) )
{
flag = TRUE;
printf("Enter Big or small,retry!\n");
}
else
{flag = FALSE;}
}
}
}
void CreatTureMatrix(int ** const pMatrix,int ** const pTrueMatrix, const int m, const int n)
{
*pMatrix = (int *)malloc( m*n*sizeof(int) );
*pTrueMatrix = (int *)calloc( m*n,sizeof(int) );
{
int *p = NULL;
for(p = *pMatrix; p < *pMatrix + m*n; ++p)
{scanf("%d",p);}
}
{
int * p = NULL;
for(p = *pMatrix; p < *pMatrix + m*n; p += n)
{
int * pMaxj = p;
{
int * q = NULL;
for(q = p + 1; q < p + n; ++q)
{
if(*q > *pMaxj)
{pMaxj = q;}
}
}
{
int * q = NULL;
for(q = pMaxj; q < p + n; ++q) /*此处处理所有(不严格)最大值*/
{
if( !(*q - *pMaxj) )
{
int * r = NULL;
for(
r = *pMatrix + (q - *pMatrix)%n
;(r < *pMatrix + m*n) && (*r >= *pMaxj)
;r += n
);
if( r >= (*pMatrix + m*n) )
{*(*pTrueMatrix + (q - *pMatrix)) = 1; }
}
}
}
}
}
}
OutPrint(int ** const pMatrix, int ** const pTrueMatrix, const int m, const int n )
{
int count = 0;
int * p = NULL;
printf("\nSaddle point is :\n");
for(p = *pTrueMatrix; p < *pTrueMatrix + m*n; ++p)
{
if(*p)
{
printf("Matrix[%d][%d] = %3d, "
, (p - *pTrueMatrix)/n, (p - *pTrueMatrix)%n
, *(*pMatrix + (p - *pTrueMatrix)) );
++count;
}
}
free(*pMatrix);
*pMatrix = NULL;
free(*pTrueMatrix);
*pTrueMatrix = NULL;
if(count)
{
const int xPos = wherex(), yPos = wherey();
if(xPos - 1)
{gotoxy(xPos - 2, yPos); }
else
{gotoxy(MAXX - 1, yPos - 1); }
printf(".");
} /*此处TC一类特有的函数gotoxy()*/
else
{printf("It is not exist!\n"); }
}

我不是砖家,要努力成为砖家。
2013-12-13 16:35
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:4 
呵呵,激将法无脑求代码

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-12-13 16:35
pangshch
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:2
帖 子:443
专家分:1966
注 册:2013-4-9
收藏
得分:0 
为了避免你被4楼误导. 给你个思路
1. 求一行的最大值(可能有相等的情况)
2. 看这个值在这一列是不是最小值.
2013-12-13 16:44
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:4 
是啊,很变态,估计地球人都做不出来

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-12-13 17:03
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:4 
楼主还不如直接说是作业,求代码。
这样我锁帖才不犹豫

思考赐予新生,时间在于定义
2013-12-13 17:06
so_love
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:7
帖 子:812
专家分:4151
注 册:2013-11-25
收藏
得分:4 
果断锁了吧。。。。

一花一世界、一叶一追寻、片片花叶落、情系何人身。
2013-12-13 18:16
快速回复:有道挺变态的题,求大神做出来、、
数据加载中...
 
   



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

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