| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 332 人关注过本帖
标题:真的跪求了实在是不知道哪错了,大家帮着给看看吧,求你们了
只看楼主 加入收藏
梦随心死
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-12-4
结帖率:0
收藏
已结贴  问题点数:10 回复次数:4 
真的跪求了实在是不知道哪错了,大家帮着给看看吧,求你们了
编译没错,就是最后得不到遍历结果希望大家给运行看看是怎么回事呀,谢了谢了。。。
#include<stdio.h>
#define MaxInt 10000
#define MVNum 100
typedef char VertexType;
typedef int ArcType;
typedef enum{FALSE,TRUE}define;  
define visited[MaxInt];   
typedef struct
{
    VertexType vexs[MVNum];
    ArcType arcs[MVNum][MVNum];
    int vexnum,arcnum;
}Graph;
int Locate(Graph G,char v)
{
    int i;
    for(i=0;i<G.vexnum;i++)
    if(G.vexs[i]==v)
    return i;
    return -1;
}
void CreatGraph(Graph G)
{
    int i,j,w;
    char v1,v2;
    printf("输入顶点个数和边条数\n");
    scanf("%d,%d",&G.vexnum,&G.arcnum);
    getchar();
   
    for(i=0;i<G.vexnum;i++)
    {
        printf("输入第%d个顶点:",i+1);
        scanf("%c",&G.vexs[i]);
        getchar();
    }
    for(i=0;i<G.vexnum;i++)//初始化
    {
        for(j=0;j<G.vexnum;j++)
        {
            G.arcs[i][j]=MaxInt;
        }
    }
    for(i=0;i<G.arcnum;i++)
    {
        printf("请输入第%d条边所依附的顶点及边上权值:",i+1);
        scanf("%c,%c,%d",&v1,&v2,&w);
        getchar();
    }
    i=Locate(G,v1);
    j=Locate(G,v2);
    G.arcs[i][j]=w;
    G.arcs[j][i]=G.arcs[i][j];
}
void DFS(Graph G,int i)  
{  
int j;  
printf("%c\n",G.vexs[i]);   //访问顶点vi  
visited[i]=TRUE;         
for(j=0;j<G.vexnum;j++)           //依次搜索vi邻接点  
if(G.arcs[i][j]!=MaxInt && !visited[j])  
DFS(G,j);  
}  
void DFSsearch(Graph G)  
{  
int i;  
for(i=0;i<G.vexnum;i++)  
visited[i]=FALSE;     
for(i=0;i<G.vexnum;i++)  
if(!visited[i])   
DFS(G,i);  
}  
void main()
{
    Graph G;
    CreatGraph(G);
    printf("*******************无向网创建完成******************\n");
    printf("深度优先遍历顺序:\n");
    DFSsearch(G);
}
搜索更多相关主题的帖子: 10000 include return 
2012-12-06 22:23
凌云飞翔
Rank: 5Rank: 5
来 自:河北
等 级:职业侠客
威 望:6
帖 子:98
专家分:388
注 册:2012-4-7
收藏
得分:5 
程序代码:
#include<stdio.h>
#define MaxInt 10000
#define MVNum 100
typedef char VertexType;
typedef int ArcType;
typedef enum{FALSE,TRUE}define; 
define visited[MaxInt];  
typedef struct
{
    VertexType vexs[MVNum];
    ArcType arcs[MVNum][MVNum];
    int vexnum,arcnum;
}Graph;
int Locate(Graph G,char v)
{
    int i;
    for(i=0;i<G.vexnum;i++)
    if(G.vexs[i]==v)
    return i;
    return -1;
}
void CreatGraph(Graph &G)
{
    int i,j,w;
    char v1,v2;
    printf("输入顶点个数和边条数\n");
    scanf("%d,%d",&G.vexnum,&G.arcnum);
    getchar();
    for(i=0;i<G.vexnum;i++)
    {
        printf("输入第%d个顶点:",i+1);
        scanf("%c",&G.vexs[i]);
        getchar();
    }
    for(i=0;i<G.vexnum;i++)//初始化
    {
        for(j=0;j<G.vexnum;j++)
        {
            G.arcs[i][j]=MaxInt;
        }
    }

    for(i=0;i<G.arcnum;i++)
    {
        printf("请输入第%d条边所依附的顶点及边上权值:",i+1);

        scanf("%c,%c,%d",&v1,&v2,&w);
    getchar () ;
   
       
    }
   
    i=Locate(G,v1);
    j=Locate(G,v2);
    G.arcs[i][j]=w;
    G.arcs[j][i]=G.arcs[i][j];
}

void DFS(Graph G,int i) 
{ 
int j; 
printf("%5c",G.vexs[i]);   //访问顶点vi 
visited[i]=TRUE;         
for(j=0;j<G.vexnum;j++)           //依次搜索vi邻接点 
if(G.arcs[i][j]!=MaxInt && !visited[j]) 
DFS(G,j); 
} 
void DFSsearch(Graph G) 
{ 
int i; 
for(i=0;i<G.vexnum;i++) 
visited[i]=FALSE;    
for(i=0;i<G.vexnum;i++) 
if(!visited[i])  
DFS(G,i); 
} 
void main()
{
    Graph G;
    CreatGraph(G);
    printf("*******************无向网创建完成******************\n");
    printf("深度优先遍历顺序:\n");
    DFSsearch(G);
  printf("\n");
}
2012-12-07 00:08
凌云飞翔
Rank: 5Rank: 5
来 自:河北
等 级:职业侠客
威 望:6
帖 子:98
专家分:388
注 册:2012-4-7
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
2012-12-07 00:09
凌云飞翔
Rank: 5Rank: 5
来 自:河北
等 级:职业侠客
威 望:6
帖 子:98
专家分:388
注 册:2012-4-7
收藏
得分:0 
CreatGraph(Graph G)改为  CreatGraph(Graph &G)
2012-12-07 00:13
georgeliuyan
Rank: 2
等 级:论坛游民
帖 子:8
专家分:18
注 册:2010-11-13
收藏
得分:5 
CreatGraph(Graph G)不能将G的值传出来,需要改成引用CreatGraph(Graph &G)!
2012-12-08 18:33
快速回复:真的跪求了实在是不知道哪错了,大家帮着给看看吧,求你们了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.041822 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved