【问题描述】设存在有向图G,输入顶点数n,边数为m,输入边信息,输出其对应的邻接矩阵。
【输入形式】首先输入顶点个数n(小于10),顶点名称依次为0至n-1;输入边数m;输入顶点之间的边(两个顶点之间用空格隔开)。
【输出形式】输出生成的二维矩阵。
【样例输入】
4
6
0 2
0 3
1 2
1 0
2 3
3 1
【样例输出】
0 0 1 1
1 0 1 0
0 0 0 1
0 1 0 0
Tips:注意到输入的遍没有按照二位矩阵双循环的方式判断,故选择输入一次边,调用一次遍历
#include<cstdio>
#include<iostream>
using namespace std;
int a[10][10] = { 0 };
int main(){
int n ,m;
int i ,j;
cin >> n;
cin>> m; //输入点数 和 边数
int p, q;
for (int k = 0; k < m; k++) // 有m条边 需要输入(判断)m次边数
{
cin >> p >> q;
for (i = 0; i < n; i++)
//输入的边和矩阵顺序无关 需要输入一次边信息 调用一次双循环遍历
{
for (j = 0; j < n; j++)
{
if (p == i && q == j)
a[i][j] = 1; //若找到 则赋值为1
}
}
}
for (i = 0; i < n; i++) //输出矩阵
{
for (j = 0; j < n; j++)
{
cout << a[i][j] << " ";
}
cout << endl;
}
return 0;
}