c++语言编马鞍点原理,C++程序求鞍点
满意答案

chenl349627
2014.05.23

采纳率:41% 等级:13
已帮助:11744人
#include
using namespace std;
int flag=0;
class Saddle_point{
private:
int a[4][4];//存放二维数组元素。
int b[4][4];//存放二维数组中的鞍点值。
int num;//存放鞍点个数。
public:
Saddle_point(int data[][4]);
void process();//求数组a所有鞍点
void print();//输出数组a,及所有鞍点
};
Saddle_point::Saddle_point(int data[4][4])
{
int i,j;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{ a[i][j]=data[i][j];
b[i][j]=0;
}
num=0;
}
void Saddle_point::process()
{
int max,min;
int i,j,t,m=0,n=0;
for(i=0;i<4;i++)
{
t=i;//保存每次的行值,以便下次循环不要从头开始
for(max=a[i][0],j=0;j<4;j++)
if(max max=a[i][j];//求行的最大值 for(j=0;j<4;j++) { for(min=a[i][j],i=0;i<4;i++)//求列的最小值 if(min>a[i][j]) min=a[i][j]; i=t; if((a[i][j]==max)&&(a[i][j]==min))//判断最大值与列最小值是否相等 { b[m][n]=a[i][j];//把鞍点赋给数组b m++; n++; num++; flag++; } } } } void Saddle_point::print() { int i,j; cout<<"数组a的元素如下所示: "< for(i=0;i<4;i++) { for(j=0;j<4;j++) { cout<<" "< } cout< } cout<<"数组b的元素如下所示: "< for(i=0;i<4;i++) { for(j=0;j<4;j++) { cout<<" "< } cout< } cout<<"所有鞍点的总数为: "< if(flag==0) { cout<<"没有鞍点: "< } } int main() { int c[][4]={2,6,3,4,5,6,5,5,7,6,5,7,1,9,2,7}; Saddle_point fun(c); fun.process(); fun.print(); return 0; } 给你写好了,但是这个数组是你固定死了的,我建议你再试试创建个动态的数组,自己再做做!希望能帮助你!!祝你好运! 10分享举报本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
