求助 下面一个程序运行出错,错在哪里,该怎么改?(100悬赏)

来源:百度知道 编辑:UC知道 时间:2024/05/05 13:11:56
#include"iostream"
using namespace std;

const int defaultsize=30;
const int maxweight=100;

class Graph
{
int maxvertice,numvertice,numedge;
char *vertice;
int **edge;
public:
Graph(int sz=defaultsize);
~Graph();
};

int main()
{
Graph g(10);
return 0;
}

Graph::Graph(int sz)
{
maxvertice=sz;
numvertice=0;
numedge=0;
vertice=new char[maxvertice];
edge=(int **)new int *[maxvertice];
int i,j;
for(i=0;i<maxvertice;i++)
edge[i]=new int [maxvertice];
for(i=0;i<maxvertice;i++)
for(j=0;i<maxvertice;j++)
edge[i][j]=((i==j)?0:maxweight);
}

Graph::~Graph()
{
delete [] vertice;
for(int i=0;i<maxvertice;i++)
delete [] edge[i];
delete [] edge;
}

笔误

for(j=0;i<maxvertice;j++)
=》
for(j=0;j<maxvertice;j++)

i=>j

出错信息呢

不好意思没看到你的补充..那里是笔误.i和j错了

for(i=0;i<maxvertice;i++)
->for(j=0;i<maxvertice;j++)
好像是这里又问题。

将for(j=0;i<maxvertice;j++)
改成for(j=0;j<maxvertice;j++) 即可编译通过(.NET2003环境)

#include"iostream"
using namespace std;

const int defaultsize=30;
const int maxweight=100;

class Graph
{
int maxvertice,numvertice,numedge;
char *vertice;
int **edge;
public:
Graph(int sz=defaultsize);
~Graph();
};

int main()
{
Graph g(10);
return 0;
}

Graph::Graph(int sz)
{
maxvertice=sz;
numvertice=0;
numedge=0;
vertice=new char[maxvertice];
edge=(int **)new int *[maxvertice];
int i,j;
for(i=0;i<maxvertice;i++)
edge[i]=new int [maxvertice];
for(i=0