#include <stdio.h>
#include <string.h>
#include <string>
#include <iostream>
using namespace std;
#define MAX 100//最大顶点数
typedef struct
{//邻接矩阵结构
int n,e;//顶点数n,边数e
string vexs[MAX];//顶点数组
int edges[MAX][MAX];//边的邻接矩阵
}MGraph;
void Menu()
{//显示菜单子函数
printf("\n 简单城市交通网系统");
printf("\n==============================================");
printf("\n| 1--城市信息维护 |");
printf("\n| 2--连通信息维护 |");
printf("\n| 3--深度优先遍历 |");
printf("\n| 4--广度优先遍历 |");
printf("\n| 5--最小生成树 |");
printf("\n| 0--退出 |");
printf("\n==============================================");
printf("\n请输入菜单号(0-5):");
}
void CreateMGraph(MGraph *G){
FILE *fp=fopen("E:\\code\\sjjg\\计科Z62103班04_Graph.txt","rt+");
if(fp==NULL){
printf("读取文件失败!");
fclose (fp);
}
string ch1,ch2;
fscanf(fp,"%d",&G->n);
fscanf(fp,"%d",&G->e);
printf("顶点数为:%d\n",G->n);
printf("边数为:%d\n",G->e);
for(int i=0;i<G->n;i++){
fscanf(fp,"%s",G->vexs[i]);
}
for(int i=0;i<G->n;i++){
printf("%s\n",G->vexs[i]);
}
for(int i=0;i<G->n;i++){
for(int j=0;j<G->n;j++){
G->edges[i][j]=0;
}
}
for(int i=0;i<G->n;i++){
for(int j=0;j<G->n;j++)
printf("%5d",G->edges[i][j]);
printf("\n");
}
//邻接矩阵元素置0
for(int i=0;i<G->e;i++){
fscanf(fp,"%s",ch1);
fscanf(fp,"%s",ch2);
for(int j=0;j<G->n;j++){
printf("%s",ch1);
printf("%s\n",G->vexs[j]);
for(int k=0;k<G->n;k++)
if(ch1==G->vexs[j]&&ch2==G->vexs[k]){
printf("%s",ch2);
printf("%s\n",G->vexs[k]);
fscanf(fp,"%d",&(G->edges[j][k]));
printf("%d\n",G->edges[j][k]);
G->edges[k][j]=G->edges[j][k];
}
}
}
}
void DispMGraph(MGraph G){//图的邻接矩阵输出函数
for(int i=0;i<G.n;i++){
for(int j=0;j<G.n;j++)
printf("%5d",G.edges[i][j]);
printf("\n");
}
}
void main(){
MGraph G;
CreateMGraph(&G);
DispMGraph(G);
system("pause");
}
if(ch1==G->vexs[j]&&ch2==G->vexs[k])为什么没有起到判断作用,如何才能判断两个string中的汉字相同?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- CSDN专家-link 2021-11-08 21:33关注
从文件里用fscanf(fp,"%s",G->vexs[i])读取的如果是最后一个数据项,那么这个字符串末尾可能是换行符。所以你用没有换行符的ch1字符串比较是不相等的
解决 无用评论 打赏 举报
悬赏问题
- ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
- ¥15 C语言使用vscode编码错误
- ¥15 用KSV5转成本时,如何不生成那笔中间凭证
- ¥20 ensp怎么配置让PC1和PC2通讯上
- ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
- ¥15 dnat基础问题,本机发出,别人返回的包,不能命中
- ¥15 请各位帮我看看是哪里出了问题
- ¥15 vs2019的js智能提示
- ¥15 关于#开发语言#的问题:FDTD建模问题图中代码没有报错,但是模型却变透明了
- ¥15 uniapp的h5项目写一个抽奖动画