#include
#define Vmas 15
typedef char VType;
typedef int EType;
typedef struct{
VType vexs[Vmax];
EType edges[Vmax][Vmax];
int Vnum, Enum;
}MGRAPH;
MGRAPH CREATMG(MGRAPH G){
int i,j;
char vi,vj;
printf("please intput the elemnts of vexs: \n");
for(i=0;(G.vexs[i]=getchar())!='#'&&i<Vmax;i++);
G.Vnum=i;
for(i=0;i<G.Vnum;i++)
for(j=0;j<G.Vnum;j++)
G.edges[i][j]=0;
G.Enum=0;
fflush(stdin);
printf("please input the %d arc such as ab:",G.Enum+1);
scanf("%c%c",&vi,&vj);
fflush(stdin);
while(vi!='#'&&vj!='#'&&G.Enum<G.Vnum*(G.Vnum)-1){
if(vi==vj)
printf("input error\n");
else{
i=LOC(G.vexs.vi);
j=LOC(G.vexs.vj);
if(i==1 || j==-1)
printf("no vexs\n");
else
if(G.edges[i][j]==1)
printf("input repetitionous\n");
else{
G.edges[i][j]=1;
G.edges[i][j]=1;
G.Enum++;
}
printf("please input the *d arc :",G.Enum+1);
scanf("%c%c",&vi,&vj);
fflush(stdin);
}
return(G);
}
void SHOWMGRAPH(MGRAPH(G))
{
int i,j;
printf(" ");
for(i=0;i<G.Vnum;i++)
printf("%c ",G.vexs[i]);
printf("\n");
for(i=0;i<G.Vnum;i++)
{
printf("%c ",G.vexs[i]);
for(j=0;j<G.Vnum;j++)
printf("%d ",G.edges[i][j]);
printf("\n");
}
}
int LOC(char vexs[Vmax],char v)
{
int i;
for(i=0;vexs[i]!=v;i++)
if(i<strlen(vexs))return i;
else return -1;
}
void main()
{
MGRAPH G1;
printf("GreatGraphics start; \n");
G1=CREATMG(G1);
printf("GreatGraphics success! \n");
SHOWMGRAPH(G1);
}
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
将程序贴在codepad.org这个网站上,然后将链接发出来。
codepad.org也提供了错误提示功能,编译错误它直接就能回答你。
不要直接贴在这里,csdn有bug,会丢失源代码的字符,这样没法帮你调试。