#include
#define MAXVEX 100
#define INFINITY 65535
typedef int edgetype ;
typedef char vertextype;
typedef struct {
vertextype vexs[MAXVEX];
edgetype arc[MAXVEX][MAXVEX]; //邻接矩阵储存的结构
int numvertexes ,numedges;
}mgraph;
void createmgraph(mgraph *g)
{
int i,j,k,w;
printf("输入顶点数和边数:\n");
scanf("%d%d",&g->numvertexes,&g->numedges);
printf("输入顶点数和边数:\n");//读入顶点信息
for(i=0;inumvertexes;i++)
scanf("%c",g->vexs[i]);
for(i=0;i<g->numvertexes;i++)
for (j=0;j<g->numvertexes;j++) //初始化邻接矩阵
g->arc[i][j]=INFINITY;
for(k=0;knumedges;j++)
{
printf("输入边(vi,vj)上的下标i,j,和权w\n");
scanf("%d%d%d",&i,&j,&w);
g->arc[i][j]=w;
g->arc[j][i]=w;
}
}
void main()
{
int i,j;
mgraph* g;
createmgraph(g);
printf("输出图的所的边\n");
for(i=0;inumedges;i++)
for(j=0;jnumedges;j++)
{
if(g->arc[i][j]!=0)
printf("图的边为(%d,%d),权值为%d",i,j,g->arc[i][j]);
}
}
还有定义的那个图g 它是一个指针变量 意思是指向定义的那个图的变量对吧 那么调用那个函数的时候 函数名后面括号里面需要写形参的类型嘛?形参是指针那我写*g 还是g?这个程序还有一个警告 求好心人帮忙