寒霜_普莱斯 2015-10-20 14:10 采纳率: 50%
浏览 1595
已采纳

用代码敲一下这个程序!!!!

用邻接矩阵存储一个有向图,写一算法计算出度为0的顶点个数,请各位大牛解答,急死了

  • 写回答

3条回答 默认 最新

  • cxlovu 2015-10-20 15:36
    关注
    #include <iostream>
    using namespace std;
    
    #define MAXN 105
    
    int n, m, Edge[MAXN][MAXN];  //顶点数,有向边数,邻接矩阵;
    int Mc, Md, u, v;  //入度,出度,边的起点,终点;
    
    void Init()  //初始化;
    {
      memset(Edge, 0, sizeof(Edge));
      for(int i=1; i<=m; i++) {  //添加有向边;
        scanf("%d %d", &u, &v);
        Edge[u-1][v-1] = 1;
      }
    }
    
    int get_Out_Degree()  //输出有向边各顶点的出度;
    {
      int res = 0;
      printf("该有向图各顶点的出度分别为:");
      for(int i=0; i<n; i++) {
        Md = 0;
        for(int j=0; j<n; j++)
         Md += Edge[j][i];
        printf("%d", Md);
        if(Md == 0) res++;
        i == n-1 ? printf("\n") : printf(" ");
      }
      return res;
    }
    
    int main()
    {
      while(~scanf("%d %d", &n, &m) && n || m) {
        Init();
        int res = get_Out_Degree();
        printf("出度为0的个数为%d\n", res);
      }
      return 0;
    }
    

    测试数据格式:
    先输入两个数n,m
    n是顶点的个数,m是有向边数
    然后输入m行,每行是两个端点
    允许循环输入,停止条件是m = n = 0
    望采纳

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿