首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++ 解决最短路有关问题 主文件里的内容 o(╯□╰)o

2012-07-20 
C++ 解决最短路问题主文件里的内容 o(╯□╰)o#includestdio.h#includestdlib.h#define MVNum 100#define

C++ 解决最短路问题 主文件里的内容 o(╯□╰)o
#include<stdio.h>
#include<stdlib.h>
#define MVNum 100
#define Maxint 32767
typedef char VertexType;
typedef int Adjamatrix;
typedef enum {FALSE,TRUE} boolean;
typedef struct
{
VertexType vexs[MVNum];
Adjmatrix arcs[MVNum][MVNum];

}
MGraph;
int D1[MVNum],P1[MVNum];
int D[MVNum][MVNum],P[MVNum][MVNum];
#include"save.c"
#include"dijkstra.c"
#include"floyd.c"
void main()

MGraph G;
int n,e,v,w,k;
int xz=1;
printf("输入图中顶点个数和边数n,e:");
scanf("%d,%d,&n,&e");
CreateMGraph(&G,n,e);
while(xz!=0)
{
printf("******求城市之间最短路径****\n");
printf("============================\n");
printf("1、求一个城市到所有城市最短路径\n");
printf("2、求任意的两个城市之间最短路径\n");
printf("============================\n");
printf(" 请选择 1 或2 ,选择 0 退出\n");
scanf("%d",%xz);
if(xz==2)
{
Floyd(G,n);
printf("输入起点和终点,v,w:");
scanf("%d,%d,&v,&w");
k=P[v][w];
if(k==0)
printf("顶点 %d 到%d 无路径!\n",v,w);
else
{
printf("从顶点%d到%d的最短路径是:%d",v,w,v);
while(k!=w)
{
printf("-%d\n",k);
k=P[k][w];
}
printf("-%d\n",w);
printf(" 路径长度:%d\n",D[v][w]);
}
}
printf("结束求最短路径,再见!\n");
}



提示错误:05_.cpp
h:\105_\105_.cpp(11) : error C2146: syntax error : missing ';' before identifier 'arcs'
h:\105_\105_.cpp(11) : error C2501: 'Adjmatrix' : missing storage-class or type specifiers
h:\105_\105_.cpp(11) : error C2501: 'arcs' : missing storage-class or type spec

虾米啊这是,完全不知道怎么改啊!!!!!

[解决办法]

C/C++ code
#include<stdio.h>#include<stdlib.h>#define MVNum 100#define Maxint 32767typedef char VertexType;typedef int Adjamatrix;typedef enum {FALSE,TRUE} boolean;typedef struct{    VertexType vexs[MVNum];    Adjamatrix arcs[MVNum][MVNum];//Adjmatrix -->Adjamatrix}MGraph;int D1[MVNum],P1[MVNum];int D[MVNum][MVNum],P[MVNum][MVNum];#include"save.c"#include"dijkstra.c"#include"floyd.c"void main(){      MGraph G;    int n,e,v,w,k;    int xz=1;    printf("输入图中顶点个数和边数n,e:");    scanf("%d,%d,&n,&e");    CreateMGraph(&G,n,e);    while(xz!=0)    {        printf("******求城市之间最短路径****\n");        printf("============================\n");        printf("1、求一个城市到所有城市最短路径\n");        printf("2、求任意的两个城市之间最短路径\n");        printf("============================\n");        printf(" 请选择 1 或2 ,选择 0 退出\n");        scanf("%d",&xz);//%-->&        if(xz==2)        {            Floyd(G,n);            printf("输入起点和终点,v,w:");            scanf("%d,%d,&v,&w");            k=P[v][w];            if(k==0)                printf("顶点 %d 到%d 无路径!\n",v,w);            else            {                printf("从顶点%d到%d的最短路径是:%d",v,w,v);                while(k!=w)                {                    printf("-%d\n",k);                    k=P[k][w];                }                printf("-%d\n",w);                printf(" 路径长度:%d\n",D[v][w]);            }        }        printf("结束求最短路径,再见!\n");    }} 

热点排行