求大神讲解

鬼才冷面宝贝 2013-11-08 06:40:53
#include<iostream>
#include <iomanip>
//#include <stdio>
using namespace std;

#define m 1000 //表示两点间不可达,距离为无穷远
#define n 9 //结点的数目
//void dijkstra(int C[][n],int v);//求原点v到其余顶点的最短路径及其长度

void dijkstra(int C[][n],int v);
{
int i,j,k,l,p,q,u,v,s,w;

int L(k+1);//表示从1点到k+1点的距离

cout<<1<<"到"<<1<<"的最短距离为0"<<endl;
cout<<"路径为:"<<1<<"-->"<<1<<endl;

for(k=1;k<9;k++)
{
for(i=0;i<n;i++)//查找第1排
{
if(C[0][i] != m)
{
if(i=k)
{
for(j=0;j<n;j++)//查找第2排
{
if(C[i][j] != m)
{
if(j=k)
{


C[0][i]+C[i][j]=L(k+1);

if(C[0][k]>L(k+1))
{
cout<<1<<"到"<<k+1<<"的最短距离为"<<C[0][k]<<endl;
cout<<"路径为:"<<1<<"-->"<<k<<endl;

}
else
{

cout<<1<<"到"<<k+1<<"的最短距离为"<<L(k+1)<<endl;
cout<<"路径为:"<<1<<"-->"<<i<<"-->"<<j<<endl;
}
}

else
{
for(l=0;l<n;l++)//查找第3排
{
if(C[j][l] != m)
{
if(l=k)
{
C[0][i]+C[i][j]+C[j][l]=L(k+1);

if(C[0][k]>L(k+1))
{
cout<<1<<"到"<<k+1<<"的最短距离为"<<C[0][k]<<endl;
cout<<"路径为:"<<1<<"-->"<<k<<endl;
}
else
{

cout<<1<<"到"<<k+1<<"的最短距离为"<<L(k+1)<<endl;
cout<<"路径为:"<<1<<"-->"<<i<<"-->"<<j<<"-->"<<l<<endl;
}

}
else
{
for(p=0;p<n;p++)//查找第4排
{
if(C[l][p] != m)
{
if(p=k)
{
C[0][i]+C[i][j]+C[j][l]+C[l][p]=L(k+1);

if(C[0][k]>L(k+1))
{
cout<<1<<"到"<<k+1<<"的最短距离为"<<C[0][k]<<endl;
cout<<"路径为:"<<1<<"-->"<<k<<endl;
}
else
{

cout<<1<<"到"<<k+1<<"的最短距离为"<<L(k+1)<<endl;
cout<<"路径为:"<<1<<"-->"<<i<<"-->"<<j<<"-->"<<l<<"-->"<<p<<endl;
}

}
else
{
for(q=0;q<n;q++)//查找第5排
{
if(C[p][q] != m)
{
if(q=k)
{
C[0][i]+C[i][j]+C[j][l]+C[l][p]+C[p][q]=L(k+1);

if(C[0][k]>L(k+1))
{
cout<<1<<"到"<<k+1<<"的最短距离为"<<C[0][k]<<endl;
cout<<"路径为:"<<1<<"-->"<<k<<endl;
}
else
{

cout<<1<<"到"<<k+1<<"的最短距离为"<<L(k+1)<<endl;
cout<<"路径为:"<<1<<"-->"<<i<<"-->"<<j<<"-->"<<l<<"-->"<<p<<"-->"<<q<<endl;
}
}
else
{
for(u=0;u<n;u++)//查找第6排
{
if(C[q][u] != m)
{
if(u=k)
{
C[0][i]+C[i][j]+C[j][l]+C[l][p]+C[p][q]+C[q][u]=L(k+1);

if(C[0][k]>L(k+1))
{
cout<<1<<"到"<<k+1<<"的最短距离为"<<C[0][k]<<endl;
cout<<"路径为:"<<1<<"-->"<<k<<endl;
}
else
{

cout<<1<<"到"<<k+1<<"的最短距离为"<<L(k+1)<<endl;
cout<<"路径为:"<<1<<"-->"<<i<<"-->"<<j<<"-->"<<l<<"-->"<<p<<"-->"<<q<<"-->"<<u<<endl;
}

}
else
{
for(v=0;v<n;v++)//查找第7排
{
if(C[u][v] != m)
{
if(v=k)
{
C[0][i]+C[i][j]+C[j][l]+C[l][p]+C[p][q]+C[q][u]+C[u][v]=L(k+1);

if(C[0][k]>L(k+1))
{
cout<<1<<"到"<<k+1<<"的最短距离为"<<C[0][k]<<endl;
cout<<"路径为:"<<1<<"-->"<<k<<endl;
}
else
{

cout<<1<<"到"<<k+1<<"的最短距离为"<<L(k+1)<<endl;
cout<<"路径为:"<<1<<"-->"<<i<<"-->"<<j<<"-->"<<l<<"-->"<<p<<"-->"<<q<<"-->"<<u<<"-->"<<v<<endl;
}

}
else
{
for(s=0;s<n;s++)//查找第8排
{
if(C[v][s] != m)
{
if(s=k)
{

C[0][i]+C[i][j]+C[j][l]+C[l][p]+C[p][q]+C[q][u]+C[u][v]+C[v][s]=L(k+1);

if(C[0][k]>L(k+1))
{
cout<<1<<"到"<<k+1<<"的最短距离为"<<C[0][k]<<endl;
cout<<"路径为:"<<1<<"-->"<<k<<endl;
}
else
{

cout<<1<<"到"<<k+1<<"的最短距离为"<<L(k+1)<<endl;
cout<<"路径为:"<<1<<"-->"<<i<<"-->"<<j<<"-->"<<l<<"-->"<<p<<"-->"<<q<<"-->"<<u<<"-->"<<v<<"-->"<<s<<endl;
}

}
else
{
for(w=0;w<n;w++)//查找第9排
{
if(C[s][w] != m)
{
if(w=k)
{
C[0][i]+C[i][j]+C[j][l]+C[l][p]+C[p][q]+C[q][u]+C[u][v]+C[v][s]+C[s][w]=L(k+1);

if(C[0][k]>L(k+1))
{
cout<<1<<"到"<<k+1<<"的最短距离为"<<C[0][k]<<endl;
cout<<"路径为:"<<1<<"-->"<<k<<endl;
}
else
{

cout<<1<<"到"<<k+1<<"的最短距离为"<<L(k+1)<<endl;
cout<<"路径为:"<<1<<"-->"<<i<<"-->"<<j<<"-->"<<l<<"-->"<<p<<"-->"<<q<<"-->"<<u<<"-->"<<v<<"-->"<<s<<"-->"<<w<<endl;
}

}

}


}


}
}

}

}
}


}


}
}

}

}
}


}

}
}
}
}

}


}


}

}


}


}

}
}




void main()
{
cout<<" ——Dijkstra算法的程序实现——"<<endl;
int C[n][n]={
{m,3,5,20,26,4,m,m,m},
{4,m,m,5,4,m,20,m,m},
{9,m,m,m,4,8,m,m,m},
{18,4,m,m,m,m,9,m,25},
{20,2,6,m,m,m,7,8,30},
{5,m,3,m,m,m,m,m,30},
{m,5,m,5,1,m,m,m,25},
{m,m,4,m,6,2,m,m,10},
{m,m,m,m,25,m,4,9,m}
};

int i,j;
int v = 1;
cout<<"输出有向图的邻接矩阵"<<endl;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
cout<<setw(10)<<C[i][j] ;
}
cout<<endl;
}
cout<<"输出原点1到其他各点的最短路径及其长度"<<endl;
dijkstra(C,v);

}

出现这样的问题,不知道怎么解决?
error C2447: missing function header (old-style formal list?)

fatal error C1004: unexpected end of file found
Error executing cl.exe.
...全文
88 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
46个技术大神讲解5G、物联网的PPT(图文并茂精华版!) 46个技术大神讲解5G、物联网的PPT(图文并茂精华版!) 46个技术大神讲解5G、物联网的PPT(图文并茂精华版!) 46个技术大神讲解5G、物联网的PPT(图文并茂精华版!) 46个技术大神讲解5G、物联网的PPT(图文并茂精华版!) 46个技术大神讲解5G、物联网的PPT(图文并茂精华版!) 46个技术大神讲解5G、物联网的PPT(图文并茂精华版!) 46个技术大神讲解5G、物联网的PPT(图文并茂精华版!) 46个技术大神讲解5G、物联网的PPT(图文并茂精华版!) 46个技术大神讲解5G、物联网的PPT(图文并茂精华版!) 46个技术大神讲解5G、物联网的PPT(图文并茂精华版!) 46个技术大神讲解5G、物联网的PPT(图文并茂精华版!) 46个技术大神讲解5G、物联网的PPT(图文并茂精华版!) 46个技术大神讲解5G、物联网的PPT(图文并茂精华版!) 46个技术大神讲解5G、物联网的PPT(图文并茂精华版!) 46个技术大神讲解5G、物联网的PPT(图文并茂精华版!) 46个技术大神讲解5G、物联网的PPT(图文并茂精华版!) 46个技术大神讲解5G、物联网的PPT(图文并茂精华版!) 46个技术大神讲解5G、物联网的PPT(图文并茂精华版!) 46个技术大神讲解5G、物联网的PPT(图文并茂精华版!) 46个技术大神讲解5G、物联网的PPT(图文并茂精华版!) 46个技术大神讲解5G、物联网的PPT(图文并茂精华版!) 46个技术大神讲解5G、物联网的PPT(图文并茂精华版!) 46个技术大神讲解5G、物联网的PPT(图文并茂精华版!) 46个技术大神讲解5G、物联网的PPT(图文并茂精华版!) 46个技术大神讲解5G、物联网的PPT(图文并茂精华版!) 46个技术大神讲解5G、物联网的PPT(

13,873

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧