#include<bits/stdc++.h>
using namespace std;
typedef struct Graph{
char a[10];
int juzhen[10][10];
int vex,edge;
}Graph;
int Locate(Graph &p,char a);
void CreatGraph(Graph &p);
void dayin(Graph &p);
int Locate(Graph &p,char a){
int b=p.vex;
int c;
for(c=0;c<b;c++){
if(p.a[c]==a){
return c;
}
}
return -1;
}
void CreatGraph(Graph &p){
FILE* fp;
fp=fopen("邻接矩阵建无向图专用文档.txt","r");
fscanf(fp,"%d %d ",&p.vex,&p.edge);
int a;
for(a=0;a<p.vex;a++){
fscanf(fp,"%c ",&p.a[a]);
}
/*for(int cc=0;cc<p.vex;cc++){
cout<<p.a[cc]<<" ";
}*/
for(int i=0;i<p.vex;i++){
for(int j=0;j<p.vex;j++){
p.juzhen[i][j]=0;
}
}
for(a=0;a<p.edge;a++){
char u,v;
fscanf(fp,"%c %c ",&u,&v);
int u1=Locate(p,u);
if(u1==-1){
printf("Error\n");
return;
}
int v1=Locate(p,v);
if(v1==-1){
printf("Error\n");
return;
}
p.juzhen[v1][u1]=p.juzhen[u1][v1]=1;
}
fclose(fp);
}
void dayin(Graph &p){
int a=p.vex;
for(int b=0;b<a;b++){
for(int c=0;c<a;c++){
printf("%d",p.juzhen[b][c]);
}
printf("\n");
}
}
void xieru(Graph &p){
FILE* fp;
fp=fopen("answer.txt","w");
int a=p.vex;
for(int b=0;b<a;b++){
for(int c=0;c<a;c++){
fprintf(fp,"%d ",p.juzhen[b][c]);
}
fprintf(fp,"\n");
}
}
int main(){
Graph a;
CreatGraph(a);
dayin(a);
xieru(a);
return 0;
}
使用邻接矩阵建无向图