标题:运行结果出错,怎么办?????????/
只看楼主
z06190115
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-6-25
 问题点数:0 回复次数:0 
运行结果出错,怎么办?????????/
#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;

}
搜索更多相关主题的帖子: graph float edge dist int 
2008-06-25 11:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-221126-1-1.html




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

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