求问c++非法内存引用问题

Foools 2018-11-29 05:46:12
自己编写的一个地铁计费功能代码,编译不出错,但是总是显示

全部代码如下,数据录入较多,实际代码内容较少,感谢大家!!

#include "stdafx.h"
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
#define MAX 100000 //表示极大值∞
#define max 95

int main()
{
bool S[max]; //记录从源点V0到终点Vi是否已经确定为最短路径,确定了记true,否则记false
int Path[max]; //记录从源点V0到终点Vi的当前最短路径上终点Vi的直接前驱顶点序号,若V0到Vi之间有边前驱为V0否则为-1
int D[max]; //记录源点到终点之间最短路径的长度,存在记V0到Vi的边的权值,否则记为MAX

string vexs[max]; //顶点表
int arcs[max][max]; //邻接矩阵
int vexnum; //图当前点数



//初始化操作
vexs[max] = ("pingguoyuan","gucheng","bajiao amusement park","babaoshan","yuquanlu","wukesong", "wanshoulu",
"gongzhufen","military museum", "muxid","nanlishilu","fuxingmen","xidan","tiananmen west","tiananmen east",
"wangfujing","dongdan","jianguomen", "yong'anli","guomao","dawanglu","sihui","sihui east","xizhimen","chegongzhuang",
"xizhimen", "jishuitan", "guloudajie", "andingmen", "yonghegong lama temple", "dongzhimen",
"dongsishitiao", "chaoyangmen", "beijing railway station", "chongwenmen", "qianmen", "hepingmen", "xuanwumen",
"changchunjie", "xidiaoyutai", "cishousi", "chedaogou", "changchunqiao", "huoqiying", "bagou", "suzhoujie",
"haidianhuangzhuang", "zhichunli", "zhichunlu", "xitucheng", "mudanyuan", "jiandemen", "beitucheng", "anzhenmen",
"huixinxijie nankou", "shaoyaoju", "taiyanggong", "sanyuanqiao", "liangmaqiao", "agricultural exhibition center",
"tuanjiehu", "hujialou", "jintaixizhao", "shuangjing", "jinsong", "panjiayuan", "shilihe", "fenzhongsi", "chengshousi",
"songjiazhuang", "shiliuzhuang", "dahongmen", "jiaomen east", "jiaomen west", "caoqiao", "jijiamiao", "shoujingmao",
"fengtai railway station", "niwa", "xiju", "liuliqao", "lianhuaqiao", "dazhongsi","wudaokou", "shangdi", "xi'erqi",
"longze", "huilongguan", "huoying", "lishuiqiao", "beiyuan", "wangjing west", "guangximen", "liufang");
for (int countt = 1; countt < 95; countt++)
{
for (int counttt = 1; counttt < 95; counttt++)
arcs[countt][counttt] = MAX;
};
//正向
arcs[0][1] = 2606;
arcs[1][2] = 1921;
arcs[2][3] = 1953;
arcs[3][4] = 1479;
arcs[4][5] = 1810;
arcs[5][6] = 1778;
arcs[6][7] = 1313;
arcs[7][8] = 1172;
arcs[8][9] = 1166;
arcs[9][10] = 1291;
arcs[10][11] = 424;
arcs[11][12] = 1590;
arcs[12][13] = 1217;
arcs[13][14] = 925;
arcs[14][15] = 852;
arcs[15][16] = 774;
arcs[16][17] = 1230;
arcs[17][18] = 1377;
arcs[18][19] = 790;
arcs[19][20] = 1385;
arcs[20][21] = 1673;
arcs[21][22] = 1714;
arcs[26][25] = 909;
arcs[24][23] = 960;
arcs[23][11] = 1832;
arcs[11][38] = 1234;
arcs[38][37] = 929;
arcs[37][36] = 851;
arcs[36][35] = 1171;
arcs[35][34] = 1634;
arcs[34][33] = 1023;
arcs[33][17] = 945;
arcs[17][32] = 1763;
arcs[32][31] = 1027;
arcs[31][30] = 824;
arcs[30][29] = 2228;
arcs[29][28] = 794;
arcs[28][27] = 1237;
arcs[27][26] = 1766;
arcs[26][25] = 1899;
arcs[44][45] = 1110;
arcs[45][46] = 950;
arcs[46][47] = 975;
arcs[47][48] = 1058;
arcs[48][49] = 1101;
arcs[49][50] = 1330;
arcs[50][51] = 973;
arcs[51][52] = 1100;
arcs[52][53] = 1020;
arcs[53][54] = 982;
arcs[54][55] = 1712;
arcs[55][56] = 1003;
arcs[56][57] = 1759;
arcs[57][58] = 1506;
arcs[58][59] = 914;
arcs[59][60] = 853;
arcs[60][61] = 1149;
arcs[61][62] = 734;
arcs[62][19] = 835;
arcs[19][63] = 1759;
arcs[63][64] = 1006;
arcs[64][65] = 1021;
arcs[65][66] = 1097;
arcs[66][67] = 1804;
arcs[67][68] = 1058;
arcs[68][69] = 1677;
arcs[69][70] = 1269;
arcs[70][71] = 1244;
arcs[71][72] = 1130;
arcs[72][73] = 1254;
arcs[73][74] = 1688;
arcs[74][75] = 1547;
arcs[75][76] = 1143;
arcs[76][77] = 1717;
arcs[77][78] = 954;
arcs[78][79] = 749;
arcs[79][80] = 1584;
arcs[80][81] = 2392;
arcs[81][7] = 1016;
arcs[7][39] = 2386;
arcs[39][40] = 1214;
arcs[40][41] = 1590;
arcs[41][42] = 1205;
arcs[42][43] = 961;
arcs[43][44] = 1495;
arcs[25][82] = 2839;
arcs[82][48] = 1206;
arcs[48][83] = 1829;
arcs[83][84] = 4866;
arcs[84][85] = 2538;
arcs[85][86] = 3623;
arcs[86][87] = 1423;
arcs[87][88] = 2110;
arcs[88][89] = 4785;
arcs[89][90] = 2272;
arcs[90][91] = 6722;
arcs[91][55] = 2152;
arcs[55][92] = 1110;
arcs[92][93] = 1135;
arcs[93][30] = 1769;
//反向
arcs[1][0] = 2606;
arcs[2][1] = 1921;
arcs[3][2] = 1953;
arcs[4][3] = 1479;
arcs[5][4] = 1810;
arcs[6][5] = 1778;
arcs[7][6] = 1313;
arcs[8][7] = 1172;
arcs[9][8] = 1166;
arcs[10][9] = 1291;
arcs[11][10] = 424;
arcs[12][11] = 1590;
arcs[13][12] = 1217;
arcs[14][13] = 925;
arcs[15][14] = 852;
arcs[16][15] = 774;
arcs[17][16] = 1230;
arcs[18][17] = 1377;
arcs[19][18] = 790;
arcs[20][19] = 1385;
arcs[21][20] = 1673;
arcs[22][21] = 1714;
arcs[25][26] = 909;
arcs[23][24] = 960;
arcs[11][23] = 1832;
arcs[38][11] = 1234;
arcs[37][38] = 929;
arcs[36][37] = 851;
arcs[35][36] = 1171;
arcs[34][35] = 1634;
arcs[33][34] = 1023;
arcs[17][33] = 945;
arcs[32][17] = 1763;
arcs[31][32] = 1027;
arcs[30][31] = 824;
arcs[29][30] = 2228;
arcs[28][29] = 794;
arcs[27][28] = 1237;
arcs[26][27] = 1766;
arcs[25][26] = 1899;
arcs[45][44] = 1110;
arcs[46][45] = 950;
arcs[47][46] = 975;
arcs[48][47] = 1058;
arcs[49][48] = 1101;
arcs[50][49] = 1330;
arcs[51][50] = 973;
arcs[52][51] = 1100;
arcs[53][52] = 1020;
arcs[54][53] = 982;
arcs[55][54] = 1712;
arcs[56][55] = 1003;
arcs[57][56] = 1759;
arcs[58][57] = 1506;
arcs[59][58] = 914;
arcs[60][59] = 853;
arcs[61][60] = 1149;
arcs[62][61] = 734;
arcs[19][62] = 835;
arcs[63][19] = 1759;
arcs[64][63] = 1006;
arcs[65][64] = 1021;
arcs[66][65] = 1097;
arcs[67][66] = 1804;
arcs[68][67] = 1058;
arcs[69][68] = 1677;
arcs[70][69] = 1269;
arcs[71][70] = 1244;
arcs[72][71] = 1130;
arcs[73][72] = 1254;
arcs[74][73] = 1688;
arcs[75][74] = 1547;
arcs[76][75] = 1143;
arcs[77][76] = 1717;
arcs[78][77] = 954;
arcs[79][78] = 749;
arcs[80][79] = 1584;
arcs[81][80] = 2392;
arcs[7][81] = 1016;
arcs[39][7] = 2386;
arcs[40][39] = 1214;
arcs[41][40] = 1590;
arcs[42][41] = 1205;
arcs[43][42] = 961;
arcs[44][43] = 1495;
arcs[82][25] = 2839;
arcs[48][82] = 1206;
arcs[83][48] = 1829;
arcs[84][83] = 4866;
arcs[85][84] = 2538;
arcs[86][85] = 3623;
arcs[87][86] = 1423;
arcs[88][87] = 2110;
arcs[89][88] = 4785;
arcs[90][89] = 2272;
arcs[91][90] = 6722;
arcs[55][91] = 2152;
arcs[92][55] = 1110;
arcs[93][92] = 1135;
arcs[30][93] = 1769;
vexnum=94;
int p = 0, q = 0, feiyong = 0;
int count = 0;

string s, e;
getline(cin, s, ';');
getline(cin, e);
for (; count < 94; count++)
{
if (s == vexs[count])
{
p = count;
}
break;
}
for (; count < 94; count++)
{
if (e == vexs[count])
{
q = count;
}
break;
}

//使用迪杰斯特拉算法求有向网G中的V0 定点到其余顶点的最短路径
int n = vexnum;//顶点数
int v0 = p;
for (int v = 0; v < n; v++)//n个顶点依次初始化
{
S[v] = false;//S初始化为空集
D[v] = arcs[v0][v];//将v0到各个终点的最短路径长度初始化为边上的权值
if (D[v] < MAX)
Path[v] = v0;//如果v0和v之间有边,则将v的前驱初始化为v0
else
Path[v] = -1;//如果v0和v之间无边,则将v的前驱初始化为-1
}
S[v0] = true; //将v0加入s
D[v0] = 0;//源点到源点的权值为0
//---------初始化结束,开始主循环,每次求得v0到某个顶点的最短路径,将v加到S数组
for (int i = 1; i < n; i++)//依次对其余n-1个顶点进行计算
{
int min = MAX;
int v = v0;
for (int w = 0; w < n; w++)
{
if (!S[w] && D[w] < min)
{//选择一条当前最短路径,终点为v
v = w;
min = D[w];
}
S[v] = true;//将v加到s集合中
for (int w = 0; w < n; w++)
{//更新从v0出发到集合V-S上所有顶点的最短路径长度
if (!S[w] && (D[v] + arcs[v][w] < D[w]))
{
D[w] = D[v] + arcs[v][w];//更新D[w]
Path[w] = v;//更改w的前驱为v
}
}
}
}
cout << "最短路径值为:" << D[q] << "米" << endl;
if (D[q] <= 6000)
{
feiyong = 3;
}
if (D[q] <= 12000 && D[q]>6000)
{
feiyong = 4;
}
if (D[q] <= 22000 && D[q]>12000)
{
feiyong = 5;
}
if (D[q] <= 32000 && D[q]>22000)
{
feiyong = 6;
}
if (D[q] <= 52000 && D[q]>32000)
{
feiyong = 7;
}
cout << feiyong << endl;


return 0;
}

如果还有其他问题,也希望大家可以指出!谢谢!
...全文
1089 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
henysugar 2018-12-04
  • 打赏
  • 举报
回复
您好,帮你改了一下。 运行效果如下: 请参考修改后的:

#include "stdafx.h"
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
#define MAX_value 100000  //表示极大值∞
#define max_value 95

int main()
{

		bool S[max_value];   //记录从源点V0到终点Vi是否已经确定为最短路径,确定了记true,否则记false
		int Path[max_value]; //记录从源点V0到终点Vi的当前最短路径上终点Vi的直接前驱顶点序号,若V0到Vi之间有边前驱为V0否则为-1 
		int D[max_value];  //记录源点到终点之间最短路径的长度,存在记V0到Vi的边的权值,否则记为MAX_value       

		int arcs[max_value][max_value];      //邻接矩阵        
		int vexnum;    //图当前点数

					   //初始化操作
		string vexs[max_value] = {"pingguoyuan", "gucheng", "bajiao amusement park", "babaoshan", "yuquanlu", "wukesong", "wanshoulu",
			"gongzhufen", "military museum", "muxid", "nanlishilu", "fuxingmen", "xidan", "tiananmen west", "tiananmen east",
			"wangfujing", "dongdan", "jianguomen", "yong'anli", "guomao", "dawanglu", "sihui", "sihui east", "xizhimen", "chegongzhuang",
			"xizhimen", "jishuitan", "guloudajie", "andingmen", "yonghegong lama temple", "dongzhimen",
			"dongsishitiao", "chaoyangmen", "beijing railway station", "chongwenmen", "qianmen", "hepingmen", "xuanwumen",
			"changchunjie", "xidiaoyutai", "cishousi", "chedaogou", "changchunqiao", "huoqiying", "bagou", "suzhoujie",
			"haidianhuangzhuang", "zhichunli", "zhichunlu", "xitucheng", "mudanyuan", "jiandemen", "beitucheng", "anzhenmen",
			"huixinxijie nankou", "shaoyaoju", "taiyanggong", "sanyuanqiao", "liangmaqiao", "agricultural exhibition center",
			"tuanjiehu", "hujialou", "jintaixizhao", "shuangjing", "jinsong", "panjiayuan", "shilihe", "fenzhongsi", "chengshousi",
			"songjiazhuang", "shiliuzhuang", "dahongmen", "jiaomen east", "jiaomen west", "caoqiao", "jijiamiao", "shoujingmao",
			"fengtai railway station", "niwa", "xiju", "liuliqao", "lianhuaqiao", "dazhongsi", "wudaokou", "shangdi", "xi'erqi",
			"longze", "huilongguan", "huoying", "lishuiqiao", "beiyuan", "wangjing west", "guangximen", "liufang"};

		for (int countt = 1; countt < 95; countt++)
		{
			for (int counttt = 1; counttt < 95; counttt++)
				arcs[countt][counttt] = MAX_value;
		};
		//正向
		arcs[0][1] = 2606;
		arcs[1][2] = 1921;
		arcs[2][3] = 1953;
		arcs[3][4] = 1479;
		arcs[4][5] = 1810;
		arcs[5][6] = 1778;
		arcs[6][7] = 1313;
		arcs[7][8] = 1172;
		arcs[8][9] = 1166;
		arcs[9][10] = 1291;
		arcs[10][11] = 424;
		arcs[11][12] = 1590;
		arcs[12][13] = 1217;
		arcs[13][14] = 925;
		arcs[14][15] = 852;
		arcs[15][16] = 774;
		arcs[16][17] = 1230;
		arcs[17][18] = 1377;
		arcs[18][19] = 790;
		arcs[19][20] = 1385;
		arcs[20][21] = 1673;
		arcs[21][22] = 1714;
		arcs[26][25] = 909;
		arcs[24][23] = 960;
		arcs[23][11] = 1832;
		arcs[11][38] = 1234;
		arcs[38][37] = 929;
		arcs[37][36] = 851;
		arcs[36][35] = 1171;
		arcs[35][34] = 1634;
		arcs[34][33] = 1023;
		arcs[33][17] = 945;
		arcs[17][32] = 1763;
		arcs[32][31] = 1027;
		arcs[31][30] = 824;
		arcs[30][29] = 2228;
		arcs[29][28] = 794;
		arcs[28][27] = 1237;
		arcs[27][26] = 1766;
		arcs[26][25] = 1899;
		arcs[44][45] = 1110;
		arcs[45][46] = 950;
		arcs[46][47] = 975;
		arcs[47][48] = 1058;
		arcs[48][49] = 1101;
		arcs[49][50] = 1330;
		arcs[50][51] = 973;
		arcs[51][52] = 1100;
		arcs[52][53] = 1020;
		arcs[53][54] = 982;
		arcs[54][55] = 1712;
		arcs[55][56] = 1003;
		arcs[56][57] = 1759;
		arcs[57][58] = 1506;
		arcs[58][59] = 914;
		arcs[59][60] = 853;
		arcs[60][61] = 1149;
		arcs[61][62] = 734;
		arcs[62][19] = 835;
		arcs[19][63] = 1759;
		arcs[63][64] = 1006;
		arcs[64][65] = 1021;
		arcs[65][66] = 1097;
		arcs[66][67] = 1804;
		arcs[67][68] = 1058;
		arcs[68][69] = 1677;
		arcs[69][70] = 1269;
		arcs[70][71] = 1244;
		arcs[71][72] = 1130;
		arcs[72][73] = 1254;
		arcs[73][74] = 1688;
		arcs[74][75] = 1547;
		arcs[75][76] = 1143;
		arcs[76][77] = 1717;
		arcs[77][78] = 954;
		arcs[78][79] = 749;
		arcs[79][80] = 1584;
		arcs[80][81] = 2392;
		arcs[81][7] = 1016;
		arcs[7][39] = 2386;
		arcs[39][40] = 1214;
		arcs[40][41] = 1590;
		arcs[41][42] = 1205;
		arcs[42][43] = 961;
		arcs[43][44] = 1495;
		arcs[25][82] = 2839;
		arcs[82][48] = 1206;
		arcs[48][83] = 1829;
		arcs[83][84] = 4866;
		arcs[84][85] = 2538;
		arcs[85][86] = 3623;
		arcs[86][87] = 1423;
		arcs[87][88] = 2110;
		arcs[88][89] = 4785;
		arcs[89][90] = 2272;
		arcs[90][91] = 6722;
		arcs[91][55] = 2152;
		arcs[55][92] = 1110;
		arcs[92][93] = 1135;
		arcs[93][30] = 1769;
		//反向
		arcs[1][0] = 2606;
		arcs[2][1] = 1921;
		arcs[3][2] = 1953;
		arcs[4][3] = 1479;
		arcs[5][4] = 1810;
		arcs[6][5] = 1778;
		arcs[7][6] = 1313;
		arcs[8][7] = 1172;
		arcs[9][8] = 1166;
		arcs[10][9] = 1291;
		arcs[11][10] = 424;
		arcs[12][11] = 1590;
		arcs[13][12] = 1217;
		arcs[14][13] = 925;
		arcs[15][14] = 852;
		arcs[16][15] = 774;
		arcs[17][16] = 1230;
		arcs[18][17] = 1377;
		arcs[19][18] = 790;
		arcs[20][19] = 1385;
		arcs[21][20] = 1673;
		arcs[22][21] = 1714;
		arcs[25][26] = 909;
		arcs[23][24] = 960;
		arcs[11][23] = 1832;
		arcs[38][11] = 1234;
		arcs[37][38] = 929;
		arcs[36][37] = 851;
		arcs[35][36] = 1171;
		arcs[34][35] = 1634;
		arcs[33][34] = 1023;
		arcs[17][33] = 945;
		arcs[32][17] = 1763;
		arcs[31][32] = 1027;
		arcs[30][31] = 824;
		arcs[29][30] = 2228;
		arcs[28][29] = 794;
		arcs[27][28] = 1237;
		arcs[26][27] = 1766;
		arcs[25][26] = 1899;
		arcs[45][44] = 1110;
		arcs[46][45] = 950;
		arcs[47][46] = 975;
		arcs[48][47] = 1058;
		arcs[49][48] = 1101;
		arcs[50][49] = 1330;
		arcs[51][50] = 973;
		arcs[52][51] = 1100;
		arcs[53][52] = 1020;
		arcs[54][53] = 982;
		arcs[55][54] = 1712;
		arcs[56][55] = 1003;
		arcs[57][56] = 1759;
		arcs[58][57] = 1506;
		arcs[59][58] = 914;
		arcs[60][59] = 853;
		arcs[61][60] = 1149;
		arcs[62][61] = 734;
		arcs[19][62] = 835;
		arcs[63][19] = 1759;
		arcs[64][63] = 1006;
		arcs[65][64] = 1021;
		arcs[66][65] = 1097;
		arcs[67][66] = 1804;
		arcs[68][67] = 1058;
		arcs[69][68] = 1677;
		arcs[70][69] = 1269;
		arcs[71][70] = 1244;
		arcs[72][71] = 1130;
		arcs[73][72] = 1254;
		arcs[74][73] = 1688;
		arcs[75][74] = 1547;
		arcs[76][75] = 1143;
		arcs[77][76] = 1717;
		arcs[78][77] = 954;
		arcs[79][78] = 749;
		arcs[80][79] = 1584;
		arcs[81][80] = 2392;
		arcs[7][81] = 1016;
		arcs[39][7] = 2386;
		arcs[40][39] = 1214;
		arcs[41][40] = 1590;
		arcs[42][41] = 1205;
		arcs[43][42] = 961;
		arcs[44][43] = 1495;
		arcs[82][25] = 2839;
		arcs[48][82] = 1206;
		arcs[83][48] = 1829;
		arcs[84][83] = 4866;
		arcs[85][84] = 2538;
		arcs[86][85] = 3623;
		arcs[87][86] = 1423;
		arcs[88][87] = 2110;
		arcs[89][88] = 4785;
		arcs[90][89] = 2272;
		arcs[91][90] = 6722;
		arcs[55][91] = 2152;
		arcs[92][55] = 1110;
		arcs[93][92] = 1135;
		arcs[30][93] = 1769;
		vexnum = 94;
		int  p = 0, q = 0, feiyong = 0;
		int count = 0;
		printf("\n请输入s(源点)后回车(例子:pingguoyuan):");
		string s, e;
		getline(cin, s);
		printf("\n请输入e(终点)后回车(例子:muxid):");
		getline(cin, e);
		for (; count < 94; count++)
		{
			if (s == vexs[count])
			{
				p = count;
			}
			break;
		}
		for (; count < 94; count++)
		{
			if (e == vexs[count])
			{
				q = count;
			}
			break;
		}

		//使用迪杰斯特拉算法求有向网G中的V0 定点到其余顶点的最短路径
		int n = vexnum;//顶点数
		int v0 = p;
		for (int v = 0; v < n; v++)//n个顶点依次初始化
		{
			S[v] = false;//S初始化为空集
			D[v] = arcs[v0][v];//将v0到各个终点的最短路径长度初始化为边上的权值
			if (D[v] < MAX_value)
				Path[v] = v0;//如果v0和v之间有边,则将v的前驱初始化为v0
			else
				Path[v] = -1;//如果v0和v之间无边,则将v的前驱初始化为-1
		}
		S[v0] = true; //将v0加入s
		D[v0] = 0;//源点到源点的权值为0
				  //---------初始化结束,开始主循环,每次求得v0到某个顶点的最短路径,将v加到S数组
		for (int i = 1; i < n; i++)//依次对其余n-1个顶点进行计算
		{
			int    min = MAX_value;
			int v = v0;
			for (int w = 0; w < n; w++)
			{
				if (!S[w] && D[w] < min)
				{//选择一条当前最短路径,终点为v
					v = w;
					min = D[w];
				}
				S[v] = true;//将v加到s集合中
				for (int w = 0; w < n; w++)
				{//更新从v0出发到集合V-S上所有顶点的最短路径长度
					if (!S[w] && (D[v] + arcs[v][w] < D[w]))
					{
						D[w] = D[v] + arcs[v][w];//更新D[w]
						Path[w] = v;//更改w的前驱为v
					}
				}
			}
		}
		cout << "最短路径值为:" << D[q] << "米" << endl;
		if (D[q] <= 6000)
		{
			feiyong = 3;
		}
		if (D[q] <= 12000 && D[q] > 6000)
		{
			feiyong = 4;
		}
		if (D[q] <= 22000 && D[q] > 12000)
		{
			feiyong = 5;
		}
		if (D[q] <= 32000 && D[q] > 22000)
		{
			feiyong = 6;
		}
		if (D[q] <= 52000 && D[q] > 32000)
		{
			feiyong = 7;
		}
		cout << "费用:" << feiyong << endl;


		return 0;
	}
qq_41617157 2018-12-02
  • 打赏
  • 举报
回复
异常时 能进一下调用堆栈看哪行代码出问题
  • 打赏
  • 举报
回复
恕我直言 你这代码写的不怎么样 向内存泄露这种问题 一步步调试就能解决
schlafenhamster 2018-12-02
  • 打赏
  • 举报
回复
//正向 反向 ,int arcs[max][max]; 只有 一个 (94 ?)
_小生有礼了_ 2018-12-01
  • 打赏
  • 举报
回复
最好看一下堆栈调用
赵4老师 2018-12-01
  • 打赏
  • 举报
回复
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止
ruan1978 2018-12-01
  • 打赏
  • 举报
回复
查下有没有地址越界,导致地址共用的冲突。可以用bc工具查下。
mirro 2018-12-01
  • 打赏
  • 举报
回复
地址访问冲突了
lin5161678 2018-11-30
  • 打赏
  • 举报
回复
引用 8 楼 @风轻云淡_ 的回复:

string vexs[max]; //顶点表
int arcs[max][max]; //邻接矩阵
int vexnum; //图当前点数

//初始化操作
vexs[max] = ("pingguoyuan","gucheng","bajiao amusement park","babaoshan","yuquanlu","wukesong", "wanshoulu",...

变为
string vexs[max] = /*----这里要用大括号,怎么能用小括号呢----*/{"pingguoyuan","gucheng","bajiao amusement park","babaoshan","yuquanlu","wukesong", "wanshoulu",...
//你的崩溃问题应该小括号引起的
你这里说错了 用大括号 会语法错误
初始化 只能写在变量定义的时候
@风轻云淡_ 2018-11-30
  • 打赏
  • 举报
回复

string vexs[max]; //顶点表
int arcs[max][max]; //邻接矩阵
int vexnum; //图当前点数

//初始化操作
vexs[max] = ("pingguoyuan","gucheng","bajiao amusement park","babaoshan","yuquanlu","wukesong", "wanshoulu",...

变为
string vexs[max] = /*----这里要用大括号,怎么能用小括号呢----*/{"pingguoyuan","gucheng","bajiao amusement park","babaoshan","yuquanlu","wukesong", "wanshoulu",...
//你的崩溃问题应该小括号引起的
Foools 2018-11-30
  • 打赏
  • 举报
回复
引用 5 楼 lin5161678 的回复:
初始化是定义变量的时候才能做的
定义变量之后就不存在初始化这种事情了

//初始化操作
vexs[max] = ("pingguoyuan","gucheng","bajiao amusement park","babaoshan","yuquanlu","wukesong", "wanshoulu",
全部越界

你基础语法都没学好就处理图?
现在新手都这么夸张吗

我的那个问题解决了一部分,兄弟可以留一个联系方式吗,这个是我的作业....要后天前交,真的没有办法了才今天做到一点多...
lin5161678 2018-11-29
  • 打赏
  • 举报
回复
初始化是定义变量的时候才能做的
定义变量之后就不存在初始化这种事情了

//初始化操作
vexs[max] = ("pingguoyuan","gucheng","bajiao amusement park","babaoshan","yuquanlu","wukesong", "wanshoulu",
全部越界

你基础语法都没学好就处理图?
现在新手都这么夸张吗
Foools 2018-11-29
  • 打赏
  • 举报
回复
引用 3 楼 @风轻云淡_ 的回复:
0005这种非法访问,要么是写入了或者是读取了空指针或者野指针,要么是写入了或者是读取了释放空间的变量中,反正,你要使用的那块内存已经因为各种原因不存在了,最直接高效的解决方法就是单步调试。
不会单步调试啊。。。能帮我看一下错误嘛。。。。
Isnis-fallen 2018-11-29
  • 打赏
  • 举报
回复
异常时 能进一下调用堆栈看哪行代码出问题
@风轻云淡_ 2018-11-29
  • 打赏
  • 举报
回复
0005这种非法访问,要么是写入了或者是读取了空指针或者野指针,要么是写入了或者是读取了释放空间的变量中,反正,你要使用的那块内存已经因为各种原因不存在了,最直接高效的解决方法就是单步调试。
英雄@末路 2018-11-29
  • 打赏
  • 举报
回复
for (; count < 94; count++)
{
if (s == vexs[count])
{
p = count;
}
break;
}
for (; count < 94; count++)
{
if (e == vexs[count])
{
q = count;
}
break;
}

把break 放到 if里面去吧,不然数字p/q应该不是你想要的
云山大侠 2018-11-29
  • 打赏
  • 举报
回复
这种错误一般都是内存溢出,检查一下数组访问有没有越界,指针有没有野指针之类的吧。

64,662

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧