#include<iostream.h>
#include<stdio.h>
#include<conio.h>
#define INFINITY 2000
#define MAXNODES 4
#define MEMBER 1
#define NONMEMBER 0
}
我将输入字符串设为0 2 3 7 2 0 6 0 3 6 0 1 7 0 1 0
但是当我选择起始节点和最终节点时,它会输出错误的输出。 。我不知道它在哪里。 。请帮助。 。
答案 0 :(得分:2)
最明显的错误是,在C ++中,您可以从零计算数组。
所以
int weight[MAXNODES][MAXNODES],precede[MAXNODES],pd;
cout<<"Enter Weight Matrix :- \n ";
for(i=1;i<=MAXNODES;i++)
{
for(j=1;j<=MAXNODES;j++)
{
cout<<"["<<i<<"]["<<j<<"] :- ";
cin>>weight[i][j];
}
}
应该是
int weight[MAXNODES][MAXNODES],precede[MAXNODES],pd;
cout<<"Enter Weight Matrix :- \n ";
for(i=0;i<MAXNODES;i++)
{
for(j=0;j<MAXNODES;j++)
{
cout<<"["<<i<<"]["<<j<<"] :- ";
cin>>weight[i][j];
}
}
所有其他循环都相同。