我打算把『啊哈,算法』中的Floyd 算法用C++写出来,
我是这样做的
[mw_shl_code=c,true]#include <iostream>
using namespace std;
int main() {
int e[10][10],k,i,j,n,m,t1,t2,t3;
int inf=99999999;
cin >> n >> m;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i==j) e[j]=0;
else e[j]=inf;
for (int i = 1; i <= m; i++) {
cin >> t1 >> t2;
e[t1][t2] = t3;
}
//main
for(k=1;k<=n;k++)
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(e[j]>e[k]+e[k][j] )
e[j]=e[k]+e[k][j];
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
cout << e[j] << endl;
}
}
return 0;
}
[/mw_shl_code]
是参考书中的代码,可是运行却出现
3 2
1 2
2 3
0
0
0
99999999
0
0
99999999
99999999
0
我错了甚麽?
|