*Ⱉ*ฅ • 9个月前
99999
using namespace std;
typedef struct {
char vex[MAX];
int edge[MAX][MAX];
int vexnum, arcnam;
} Graph;
int LocateVex(Graph G, char v) {
for (int i = 0; i < G.vexnum; i++) {
if (G.vex[i] == v) {
return i;
}
}
return false;
}
void GreateGraph(Graph &G) {
cout << "zongbianshu:" << endl;
cin >> G.vexnum >> G.arcnam;
cout << "dingdian:" << endl;
for (int i = 0; i < G.vexnum; i++) {
cin >> G.vex[i];
}
for (int i = 0; i < G.vexnum; i++) {
for (int j = 0; j < G.vexnum; j++) {
if (i != j)
G.edge[i][j] = MAXINT;
else
G.edge[i][j] = 0;
}
}
char v1, v2;
for (int i = 0; i < G.arcnam; i++) {
cout << "mmm:" << endl;
cin >> v1 >> v2;
int m = LocateVex(G, v1);
int n = LocateVex(G, v2);
G.edge[m][n] = 1;
G.edge[n][m] = 1;
}
}
void PrintVex(Graph G) {
cout << "shuzu" << endl;
for (int i = 0; i < G.vexnum; i++) {
printf("%7d%7c\n", i, G.vex[i]);
}
}
void PrintArc(Graph G) {
Graph
cout << "shuzu:" << endl;
cout << " |";
for (int i = 0; i < G.vexnum; i++) {
printf("%7d", i);
}
cout << endl << "__________________________________________" << endl;
for (int i = 0; i < G.vexnum; i++) {
printf("%7d|", i);
for (int j = 0; j < G.vexnum; j++)
printf("%7d", G.edge[i][j]);
cout << endl;
}
cout << endl;
}
int main() {
Graph G;
GreateGraph(G);
PrintVex(G);
PrintArc(G);
return 0;
}
评论:
请先登录,才能进行评论