/*6.8设图G用邻接矩阵A[n+1,n+1]表示,设计算法以判断G是否是无向图。
*/
#include<iostream>
using namespace std;
#define max 1000
#define INF 65535
typedef char element;
typedef int cellType;
typedef enum { UDG, UDN, DG, DN }GraphKind;//枚举图的类型
typedef struct GraphAdjMatrix {
element data[max];//顶点数组,存放顶点元素的值,从0开始
cellType AdjMatrix[max][max];//邻接矩阵,元素类型为cellType
int verNum;//顶点数
int arcNum;//弧数
GraphKind gkind;//图的类型,0-无向图,1-无向网,2-有向图,3-有向网
}Graph;//图的类型名
void createGraph(Graph& G) {
int i, j, k, w;
cout << "输入顶点数和边数:" << endl;
cin >> G.verNum >> G.arcNum;
cout << "输入结点信息:" << endl;
for (i = 0; i < G.verNum; i++) {
cin >> &(G.data[i]);
}
//邻接矩阵初始化
for (i = 0; i < G.verNum; i++) {
for (j = 0; j < G.verNum; j++)
G.AdjMatrix[i][j] = INF;
}
//建立邻接矩阵
for (k = 0; k < G.arcNum*G.arcNum; k++) {
cout << "输入边的下标i,下标j,和数据w:";
cin >> i >> j>>w;
G.AdjMatrix[i][j] = w;
}
int flag = 1;
for (i = 0; i < G.verNum; i++) {
for (j = 0; j < G.verNum; j++) {
if (G.AdjMatrix[j][i] == 1 && G.AdjMatrix[i][j] == 1) {
flag = 0;
}
}
}
if (flag == 0)
cout << "G是否是无向图" << endl;
else
cout << "G是否是有向图" << endl;
}
int main() {
Graph G;
createGraph(G);
return 0;
}
想问一下,这里为什么报错,我感觉我写的没有什么问题啊