C/c++语言错误

来源:百度知道 编辑:UC知道 时间:2024/05/28 02:56:40
#include<iostream>
using namespace std;
int cost[2000][2000],lowcost[2000],n,j,a,b,r,minn;
bool bo[2000];

int minnn(int x,int y){
if(x<y) return x;
return y;
}

void dijskal(){
int k;
for(int i=1;i<=n-1;i++){
minn=0;
for(int j=1;j<=n;j++){
if(!bo[j] && lowcost[j]>minn){
minn=lowcost[j];
k=j;
}
}
bo[k]=true;
for(int j=1;j<=n;j++)
if(!b[j] && lowcost[j]<minnn(cost[k][j],lowcost[k])) //这行编译错误
lowcost[j]=minnn(cost[k][j],lowcost[k]);
}
}

int main(){
cin>>n;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
cost[i][j]=0;
cin>>a>>b>>r;
while(a!=0&&b!=0&&r!=0){
cost[a][b]=r;
cin>>a>>b>>

错误那一行b【】是不是应该是bo【】 虽然我觉得这个不符合错误描述……

楼上说的对,不过还有几个地方有错误,这是编译通过的:
#include<iostream>
using namespace std;
int cost[2000][2000],lowcost[2000],n,j,a,b,r,minn;
bool bo[2000];

int minnn(int x,int y){
if(x<y) return x;
return y;
}

void dijskal(){
int k;
for(int i=1;i<=n-1;i++){
minn=0;
for( j=1;j<=n;j++){
if(!bo[j] && lowcost[j]>minn){
minn=lowcost[j];
k=j;
}
}
bo[k]=true;
for( j=1;j<=n;j++)
if(!bo[j] && lowcost[j]<minnn(cost[k][j],lowcost[k])) //这行编译错误
lowcost[j]=minnn(cost[k][j],lowcost[k]);
}
}

int main(){
cin>>n;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
cost[i][j]=0;
cin>>a>>b>>r;
while(a!=0&&b!=0&&r!=