动态数组的申请与鞍点的测算

超、凢脫俗 2022-08-10 12:53 215阅读 0赞

今天老师上课数据结构讲到了字符串和数组,字符串让我们用回溯法测算。后来叫我们做了一个动态数组的申请,加上算鞍点的算法。下面是我的完整代码

#include
using namespace std;
void main()
{
int *p;
int m,n,i,j;
cout<<”请输入行:”;cin>>m;
cout<<”请输入列:”;cin>>n;
p=new int[m*n];
for(int i=1;i<=m*n;i++)
p[i]=100+i;
cout<<”您创建的二维数组是:”<<endl;
for(i=1;i<=m;i++)
{for(j=1;j<=n;j++)
cout<<” “<<p[(i-1)*n+j];
cout<<endl;}
for(i=1;i<=m;i++)
{ int m1=0;
int Min=p[(i-1)*n+1],Min1=p[(i-1)*n+1];
for(j=1;j<=n;j++)
{if(Min<p[(i-1)*n+j])
m1=j;}
for(j=1;j<=m;j++)
if(p[(j-1)*n+m1]<p[(i-1)*n+m1])
break;
if(j==5)
{cout<<endl;
cout<<”鞍点:”<<p[(i-1)*n+m1];break;
}

if(i==5)
cout<<”此矩阵不存在鞍点.”;}
}

在做这个程序的时候我遇到了几个问题和心得,下面我们就来分享一下

1.在动态申请的时候我首先是用指针的,刚开始我把输入动态的数组的个数给忘了,最后在运行的时候系统报错的。在不断的调试中找到了这个低级的错误,从这件事情上我感觉到像我们这样的程序员在编写程序的时候范这样的低级错误也是不可避免的,在遇到这种情况的时候我们要淡定。我们要学会用调试找到我们的错误所在。

2.就是在算鞍点的时候我有大意了,在循环的时候我没有设置全局的变量而是在for循环里了,导致我运行的时候不识别局部的变量i和j了。

大概就是这几个方面。希望在以后能狗得到改变

发表评论

表情:
评论列表 (有 0 条评论,215人围观)

还没有评论,来说两句吧...

相关阅读

    相关

    题目内容: 给定一个n\n矩阵A。矩阵A的鞍点是一个位置(i,j),在该位置上的元素是第i行上的最大数,第j列上的最小数。一个矩阵A也可能没有鞍点。 你的任务是找出A的鞍点

    相关 动态创建维护

    说是动态数组,其实就是在满容量时,再创建创建一个一定容量的数组(实例代码中是原数组容量的一倍),并将对数组的引用指向新的数组。 而当数组容量比较小时,则创建一个一定容量的数组