一、实验目的: 理解图论的基本概念、图的矩阵表示、图的连通性等。提高学生编写实验报告,总结实验结果的能力,培养学生的逻辑思维能力和算法设计思想。能够独立完成简单的算法设计和分析,进一步用他们来解决实际问题,帮助学生学习掌握C和C++语言程序设计的基本方法和各种调试手段,使学生具备程序设计的能力。 二、实验内容: (1)由邻接矩阵输出每个节点的入度、出度和度。
时间: 2023-12-14 08:35:59 浏览: 140
实验思路:
输入一个邻接矩阵,表示一个有向图。
对于每一个节点,遍历邻接矩阵的一行或一列,统计出度、入度和总度数。
输出每个节点的入度、出度和度数。
实现过程中需要用到循环、条件判断等基本语句。
C++代码如下:
#include<iostream>
using namespace std;
const int MAXN=100;
int main(){
int n;
int G[MAXN][MAXN];
int in[MAXN],out[MAXN],degree[MAXN];
cout<<"请输入节点数:"<<endl;
cin>>n;
cout<<"请输入邻接矩阵:"<<endl;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cin>>G[i][j];
}
}
// 统计入度、出度和总度数
for(int i=0;i<n;i++){
in[i]=out[i]=degree[i]=0;
for(int j=0;j<n;j++){
if(G[i][j]==1){
out[i]++;
in[j]++;
degree[i]++;
degree[j]++;
}
}
}
// 输出结果
for(int i=0;i<n;i++){
cout<<"节点"<<i+1<<"的入度为"<<in[i]<<",出度为"<<out[i]<<",度为"<<degree[i]<<endl;
}
return 0;
}
实验结果:
输入一个邻接矩阵,例如:
0 1 1 0
0 0 1 0
0 0 0 1
0 0 0 0
输出结果为:
请输入节点数:
4
请输入邻接矩阵:
0 1 1 0
0 0 1 0
0 0 0 1
0 0 0 0
节点1的入度为0,出度为2,度为2
节点2的入度为1,出度为0,度为1
节点3的入度为2,出度为1,度为3
节点4的入度为1,出度为0,度为1
相关推荐


















