ZKX's LAB

最短路问题的c++程序 这个C程序有问题 帮忙找下 很短

2020-10-02知识13

可运行的c语言程序:旅行商求最短路径问题

c程序的问题,很短.

最短路问题怎么用C语言编程啊?紧急需要啊…………运用的方法是运筹学中的货郎担启发式算法解决 呵呵,确实是这样过的啊

C语言实现最短路问题的算法 #i ncludei ncludeDijkstra算法实现函数void Dijkstra(int n,int v,int dist[],int prev[],int*cost){int i;int j;int maxint=65535;定义一个最大的数值,作为不相连的两个节点的代价权值int*s;定义具有最短路径的节点子集ss=(int*)malloc(sizeof(int)*n);初始化最小路径代价和前一跳节点值for(i=1;i;i+){dist[i]=cost[v][i];s[i]=0;if(dist[i]=maxint){prev[i]=0;}else{prev[i]=v;}}dist[v]=0;s[v]=1;源节点作为最初的s子集for(i=1;i;i+){int temp=maxint;int u=v;加入具有最小代价的邻居节点到s子集for(j=1;j;j+){if(。s[j])&(dist[j])){u=j;temp=dist[j];}}s[u]=1;计算加入新的节点后,更新路径使得其产生代价最短for(j=1;j;j+){if(。s[j])&(cost[u][j])){int newdist=dist[u]+cost[u][j];if(newdist[j]){dist[j]=newdist;prev[j]=u;}}}}}展示最佳路径函数void ShowPath(int n,int v,int u,int*dist,int*prev){int j=0;int w=u;int count=0;int*way;way=(int*)malloc(sizeof(int)*(n+1));回溯路径while(w。v){count+;way[count]=prev[w];w=prev[w];}输出路径printf(\"the best path is:\\n\");for(j=count;j>;=1;j-){。

求一个求最短路径的C程序!! 若是业务需求,或者算法研究,这个是网络或者图里面的算法问题,有迪杰斯特拉算法,A*,Floyd等等,网上也有详细介绍,以及测试demo。不过才49个点,不管用深度还是广度遍历,或者穷举或者递归,都不难的,网上很多现成的code,稍微改改就行了。不复制粘贴,也不贴链接了,免得答案又被屏了

C语言问题(入门级,很短的程序) 这是我帮你修改过的程序,没有问题了你的代码写得也真没质量啊指针数组根本就不熟悉嘛。兄弟好好看看指针和数组的关系。includeincludeincludeincludeusing namespace std;void strConCat(char*a,char*b,char*d){strcpy(d,strcat(a,b));printf(\"The connected string C is:%s\",d);getch();}void main(){char m[20],n[20],a[40],c[40];char*p,*q,*r;p=m;q=n;r=c;printf(\"-\\nWelcome to use the number-sort program\\n-\\n\");printf(\"Please input string m\\n\");gets(m);printf(\"\\nPlease input string n\\n\");gets(n);printf(\"m:%s \\nm:%s\\n\\n\\n\\n\\n\",m,n);printf(\"-\\nThe system is calculating the results,please wait.\\n\\n\\n\");strConCat(p,q,r);}

这个C程序有问题 帮忙找下 很短 你这么改一下:includeincludemain(){char a[4],char b[4];int i;for(i=0;i;i+){printf(\"input%d num\\n\",i);scanf(\"%c\",&a[i]);scanf(\"%c\",&b[i]);}for(i=0;i;i+){printf(\"%c\",a[i]);}getch();}

一个C语言排序的问题,程序很短,帮忙看看吧,自己实在是解决不了了。 下面两句和你设计的思路都不一致:fread(p[i]=stu[i],sizeof(STU),1,in);读不进去fwrite(p[i],sizeof(STU),1,out);写不出来第一句改为:for(i=0;i;i+){fscanf(in,\"%d%s%f%f%f%f\",&stu[i].num,&stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2],&stu[i].t);p[i]=stu[i];}第二句改为:for(i=0;i;i+){fprintf(out,\"%d|%s|%.2f|%.2f|%.2f|%.2f \\n\",p[i]->;num,p[i]->;name,p[i]->;score[0],p[i]->;score[1],p[i]->;score[2],p[i]->;t);}

最短路问题怎么用C语言编程啊?紧急需要啊…………运用的方法是运筹学中的货郎担启发式算法解决 最短路问题怎么用C语言编程啊?紧急需要啊…运用的方法是运筹学中的货郎担启发式算法解决 我们的问题是配送商K向10个站点送货,最后回到K,要求其路程最短,已知的是K到。

#int函数#c语言#排序算法

随机阅读

qrcode
访问手机版