根据顶点边数和点信息输出邻接矩阵

简介: 根据顶点边数和点信息输出邻接矩阵
// ConsoleApplication23.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>                                     
#include<malloc.h>
using namespace std;
#define MAXVEX 100
typedef char VertexType;
typedef int EdgeType;
typedef struct
{
  VertexType vexs[MAXVEX];
  EdgeType edges[MAXVEX][MAXVEX];
  int n, e;
}MGraph;
MGraph CreateMGraph(int pd)
{
  MGraph G;
  int i, j, k, n;
  cout << "请输入顶点数和边数:";
  cin >> G.n >> G.e;
  cout << "请输入顶点信息:";
  for (i = 0; i < G.n; i++)
    cin >> G.vexs[i];
  for (i = 0; i < G.n; i++)
    for (j = 0; j < G.n; j++)
      G.edges[i][j] = 0;
  cout << "请输入每条边对应的两个顶点的序号及权重:\n";
  for (n = 0; n < G.e; n++)
  {
    cin >> i >> j >> k;
    G.edges[i][j] = k;
    if (pd == 0)
      G.edges[j][i] = k;
  }
  return G;
}
void DisplayMGraph(MGraph G, int pd)
{
  for (int i = 0; i < G.n; i++)
  {
    cout << "第" << i + 1 << "行:";
    for (int j = 0; j < G.n; j++)
      if (pd == 0 && G.edges[i][j] == 0)
        cout << "∞" << "\t";
      else
        cout << G.edges[i][j] << "\t";
    cout << "\n";
  }
}
int OutDegree(MGraph G, int i)
{
  int degree = 0;
  for (int j = 0; j < G.n; j++)
    if (G.edges[i][j] != 0)
      degree++;
  return degree;
}
int InDegree(MGraph G, int i)
{
  int degree = 0;
  for (int j = 0; j < G.n; j++)
    if (G.edges[j][i] != 0)
      degree++;
  return degree;
}
void PrintOut(MGraph G, int pd)
{
  int all;
  if (pd == 0)
    for (int i = 0; i < G.n; i++)
      cout << "第" << i << "个顶点" << G.vexs[i] << "的度是" << OutDegree(G, i) << endl;
  else
    for (int i = 0; i < G.n; i++)
    {
      cout << "第" << i << "个顶点" << G.vexs[i] << "的出度是" << OutDegree(G, i) << ",入度是" << InDegree(G, i) << endl;
      all = OutDegree(G, i) + InDegree(G, i);
      cout << "第" << i << "个顶点" << G.vexs[i] << "的度是" << all << endl;
    }
}
int main()
{
  cout << "如果是无向图,请输入0;如果是有向图,请输入1:";
  int pd;
  cin >> pd;
  if (pd != 0 && pd != 1)
  {
    cout << "输入有误,请退出重新输入0或1。";
    return 0;
  }
  MGraph G = CreateMGraph(pd);
  cout << "\n分行输出该邻接矩阵为:\n";
  DisplayMGraph(G, pd);
  PrintOut(G, pd);
  system("pause");
  return 0;
}
//   2. 使用团队资源管理器窗口连接到源代码管理
//   3. 使用输出窗口查看生成输出和其他消息
//   4. 使用错误列表窗口查看错误
//   5. 转到“项目”>“添加新项”以创建新的代码文件,或转到“项目”>“添加现有项”以将现有代码文件添加到项目
//   6. 将来,若要再次打开此项目,请转到“文件”>“打开”>“项目”并选择 .sln 文件

有问题留言

相关文章
|
5天前
|
JavaScript API iOS开发
DeepSeek Harness下载、安装、配置一篇搞定(2026整理,送常用插件)
DeepSeek Harness(DSH)是DeepSeek于2026年开源的MIT协议AI Agent框架,支持插件化组装模型、工具、沙箱与UI,兼容主流大模型。本文提供免Node.js的桌面端安装包(Win/macOS),含详细图文教程及热门插件推荐。
2494 17
|
6天前
|
iOS开发 Docker MacOS
【2026实测】Docker Desktop下载、安装、汉化、配置教程(附官网安装包)
Docker Desktop 是 Docker 官方推出的桌面容器管理工具,集成引擎、CLI、图形界面与 Kubernetes,支持 Win/macOS/Linux。2026 最新版 4.88.1 强化 ARM 原生运行、镜像加速及资源可视化,附中文汉化与国内镜像配置指南。
1087 3
|
云安全 安全 网络安全
|
5天前
|
Linux 开发工具 iOS开发
Codex保姆级教程(下载+安装+登录+使用,含所有版本,2026最新)
Codex是OpenAI推出的开源AI编程智能体,本地运行,可理解整个代码库,支持自然语言指令改代码、执行命令、跑测试、修Bug,兼容Win/macOS/Linux。(239字)
|
6天前
|
安全 算法 定位技术
《高性价比人生指南》完整原版:普通人用最少的资源,过好这一生的底层逻辑~How To Live Better
📖《高性价比人生指南》是一份基于实证、拒绝焦虑的生存手册,倡导以“人生时薪”为视角,重新计算时间、金钱与精力的成本与收益。它不承诺逆袭,只教人算清账:省下的钱若耗掉时间便亏;买体验比买物品更值;睡眠是最高杠杆的健康投资;关系贵在情绪价值而非表面热络;学习重在改变行为而非自我安慰。核心理念:用低成本、高回报的微小行动,换取长期的选择权——不是成为谁,而是掌控自己人生的主动权。
|
18天前
|
人工智能 API 开发工具
DeepSeek Harness 神插件:白嫖 13 家大厂模型
`dsh-our-free-model` 是 DeepSeek Harness 神级插件:零配置、零API Key、零账号,聚合13家大厂免费模型(含DeepSeek V4.1 Flash、Kimi K3等),支持本地网关、用量看板与自动降级,真正实现“白嫖即用”。
3242 51
|
12天前
|
JavaScript 安全 前端开发
Nodejs Brotli decoder 代码执行漏洞 (CVE-2026-111497)10629
Node.js发布安全更新修复Brotli解码器高危RCE漏洞(CVE-2026-111497),建议受影响版本用户立即升级。
2119 2
|
11天前
|
人工智能 JSON Linux
【保姆级】ComfyUI部署教程(下载+安装+配置+工作流,2026最新)
ComfyUI 是一款开源节点式AI生成工具,支持图像、视频、音频及3D内容创作。通过拖拽连线组合模型加载、提示词、采样等节点,构建可复用、易修改的工作流,兼容SD1.5、SDXL、Flux、Qwen Image等主流模型。

热门文章

最新文章