运行结果出错,怎么办?????????/
#include"stdio.h"typedef struct
{
int fromvex,endvex;
float length;
}edge;
typedef struct
{
float dist[100][100];
}graph;
graph *ga;
edge T[100];
void creatgraph(graph *ga,int n) /*建立图的邻接矩阵*/
{
int i,j,k,e;
float w;
e=(n-1)*n/2;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
ga->dist[i][j]=0;
for(k=0;k<e;k++)
{
scanf("%d%d%f",&i,&j,&w);
ga->dist[i][j]=w;
ga->dist[j][i]=w;
}
}
void prim(graph *ga,edge T[],int n)
{
int j,k,m,v;
float min,max=10000;
float d;
edge e;
for(j=1;j<n;j++)
{
T[j-1].fromvex=1;
T[j-1].endvex=j+1;
T[j-1].length=ga->dist[0][j];
}
for(k=0;k<n-1;k++)
{
min=max;
for(j=k;j<n-1;j++)
if(T[j].length<min)
{
min=T[j].length;
m=j;
}
e=T[m];
T[m]=T[k];
T[k]=e;
v=T[k].endvex;
for(j=k+1;j<n-1;j++)
{
d=ga->dist[v-1][T[j].endvex-1];
if(d<T[j].length)
{
T[j].length=d;
T[j].fromvex=v;
}
}
}
}
void printmimtree(edge T[],int n) /*打印出最小生成树的权,即所得的输出*/
{
int i;
float m=0;
for(i=0;i<n-1;i++)
m+=T[i].length;
printf("%d\n",m);
}
int main()
{
int n;
graph *ga;
edge T[100];
scanf("%d",&n);
return 1;
}