| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 552 人关注过本帖
标题:[求助]创建邻接矩阵函数为什么输出错误结果?
取消只看楼主 加入收藏
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
收藏
 问题点数:0 回复次数:0 
[求助]创建邻接矩阵函数为什么输出错误结果?

创建邻接矩阵函数为什么输出错误结果?看下下面的程序哪出错了 大家帮忙看看,谢谢了
#include "Stdio.h"
#include "Conio.h"

#define MAX 30
#define MAX_VERTEX_NUM 20
#define INT_MAX 20000
typedef struct
{
char vex[MAX];
int arc[MAX][MAX];
int vexnum,arcnum;
}MGraphy;

CreateMGraphy(MGraphy *G)
{
int i=0,j=0,k=0;
char v1,v2;

printf("Please input vexnum and arcnum:\n");
scanf("%d",&(G->vexnum));
scanf("%d",&(G->arcnum));
printf("Please input vex value:");
for (i=0;i<G->vexnum;i++)
{
scanf("\n%c",&(G->vex[i]));
printf("%c ",G->vex[i]);
}

for (i=0;i<G->vexnum;i++)
for (j=0;j<G->vexnum;j++)
G->arc[i][j]=0; /*弧的初始化*/
for (k=0;k<G->arcnum;k++)
{
printf("Please input two letters:\n");
scanf("%c\n",&v1);
scanf("%c\n",&v2);
printf("v1=[%c] v2=[%c]\n",v1,v2); /*这里输出就出错了*/
i=LocateVex(G,v1);
j=LocateVex(G,v2); /*确定已有的顶点的位置*/
printf("i=[%d] j=[%d]\n",i,j); /*这里输出时也出错了*/
G->arc[i][j]=G->arc[j][i]=1; /*已确定的弧标记为1*/
}
for (i=0;i<G->vexnum;i++)
{ /*打印出弧关系矩阵*/
for (j=0;j<G->vexnum;j++)
printf("%d ",G->arc[i][j]);
printf("\n");
}

}

int LocateVex(MGraphy *G,char v)
{
int i;
for (i=0;i<G->vexnum;i++)
if ((int)G->vex[i]==(int)v)
{
return i;
}
return 0;
}

int main(void)
{
MGraphy *G;
G=(MGraphy *)malloc(sizeof(MGraphy));
CreateMGraphy(G);
getch();
return 0;
}

搜索更多相关主题的帖子: 邻接矩阵 函数 结果 输出 
2006-05-14 09:14
快速回复:[求助]创建邻接矩阵函数为什么输出错误结果?
数据加载中...
 
   



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

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