c++输出表示无向网的邻接矩阵的代码
时间: 2024-03-17 21:44:08 浏览: 66
假设我们的无向网有n个顶点,我们可以使用一个n*n的矩阵来表示它们之间的连接关系。如果两个顶点之间有连接,则在矩阵中对应位置上的值为它们之间的权值,否则为0或INF(表示无穷大)。下面是一个简单的C++程序,用于输出无向网的邻接矩阵:
```c++
#include <iostream>
#include <climits>
using namespace std;
const int MAXN = 100;
const int INF = INT_MAX; // 表示无穷大
int map[MAXN][MAXN]; // 定义无向网的邻接矩阵
int main()
{
int n; // 无向网中的顶点个数
cin >> n;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++)
cin >> map[i][j]; // 输入无向网的邻接矩阵
// 输出无向网的邻接矩阵
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if (map[i][j] == INF)
cout << "INF" << " ";
else
cout << map[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
在这个程序中,我们通过一个二维数组`map`来存储无向网的邻接矩阵,然后通过两个嵌套的循环遍历这个数组,输出每一个元素的值。注意,在输入无向网的邻接矩阵时,我们也是通过两个嵌套的循环来完成的。另外,我们使用了一个常量`INF`来表示无穷大,在输出邻接矩阵时,如果某个位置上的值为`INF`,则输出字符串"INF",否则输出它们之间的权值。
阅读全文