矩阵创建函数里读入数据出现问题
#include<stdio.h>
#include<stdlib.h>
#define maxvex 605
#define maxedg 200005
#define maxlen 65535
//邻接矩阵
int acrs[maxvex][maxvex];
//阵创建
void creat_zhen(int numvex,int numedg)
{
for(int i = 0;i <= numvex;i++)
{
for(int j = 0;j <= numvex;j++)
{
acrs[i][j] = maxlen;
if(i == j) acrs[i][j] = 0;
}
}
for(int i = 0;i < numvex;i++)
{
int m;
scanf("%d",&m);
acrs[i][numvex] = m;
acrs[numvex][i] = m;
}
for(int i = 0;i < numedg;i++)
{
int u,v,w;
scanf("%d%d%d",&u,&v,&w);//此处无法读入数据(边的两端及权值)
// acrs[u][v] = w;
// acrs[v][u] = w;
}
}
//阵打印:
void print_zhen(int numvex)
{
for(int i = 0;i <= numvex;i++)
{
for(int j = 0;j <= numvex;j++)
{
printf("%d ",acrs[i][j]);
}
printf("\n");
}
}
int main(void)
{
int numvex,numedg;
scanf("%d,%d",&numvex,&numedg);
creat_zhen(numvex,numedg);
// print_zhen(numvex);
return 0;
}
输入样例:
运行结果:
解决办法:
for(int i = 0;i < numedg;i++)
{
int u,v,w;
scanf("%d",&u);
scanf("%d",&v);
scanf("%d",&w);
acrs[u][v] = w;
acrs[v][u] = w;
}