最佳路径算法VC++版

来源:百度知道 编辑:UC知道 时间:2024/06/10 21:17:13
三维空间模拟车载导航系统
(一)软件功能要求
创建真实或虚构场景,并生成该场景的电子地图,按照GIS系统的特点实现在三维空间中模拟车载导航系统,基本功能要求如下:
1、 模拟车载系统:开发一套模拟车载系统,要模拟出常规GPS车载系统的功能,如:
1)导航功能
驾驶员在车载模拟GPS导航系统上任意标注两点后,导航系统便会自动根据当前的位置,为车主设计最佳路线,标注一点,则从使用者当前位置设计一条最佳路径,假如用户因为不小心错过路口,没有走导航系统推荐的最佳线路,车辆位置偏离最佳线路轨迹一定距离,如200米以上,车载GPS导航系统会根据车辆所处的新位置,重新为用户设计一条从新位置到终点的最佳线路。
2)定位功能
汽车定位功能随着汽车所处的位置不同,显示汽车在电子地图中的位置,当前显示的地图应是汽车所在地区的地图。模拟GPS模拟通过接收卫星信号(位置信号),可以准确地定出其所在的位置。

#include<iostream.h>
void main()
{
int infinity=100,j,i,n,k,t,**w,*s,*p,*d;
cout<<"input the value of n:";
cin>>n;
cout<<endl;

d=new int[n];
s=new int[n];
p=new int[n];
w=new int*[n];
for(i=0;i<n;i++) {w[i]=new int[n];}
for(i=0;i<n;i++)
for(j=0;j<n;j++)
cin>>w[i][j];

for(s[0]=1,i=1;i<n;i++)
{
s[i]=0;d[i]=w[0][i];
if(d[i]<infinity) p[i]=0;
else p[i]=-1;
}

for(i=1;i<n;i++)
{
t=infinity;k=1;
for(j=1;j<n;j++)
if((!s[j])&&(d[j]<t)) {t=d[j];k=j;}
s[k]=1;//point k join the S
for (j=1;j<n;j++)
if((!s[j])&&(d[j]>d[k]+w[k][j]))
{d[j]=d[k]+w[k][j];p[j]=k;}

}

你的最佳路径可以给一个具体的题目么?

这样问的话不知道怎么回答!

最佳路径是指什么?

强个 可以开发导航软件了