Visual c++ 如何使这个路径找到C++代码变成动态的,以便代理可以自己搜索路径 如何使这个路径找到C++代码到动态,这样代理可以自己从网格的一个角落搜索路径到另一个角落,但是代理不能看到,除非移动到网格。我是新的C++,尝试制作这个小程序,但它看起来是静态的,我需要帮助,这样我就可以把它变成动态的,或者可以代理自己做路径搜索,而不是指派路径,到目前为止我做了5条不同的路径,因为代理可以选择任意多条路径,但路径长度应为6,并且只能向上或向右移动。任何帮助都将不胜感激。 提前谢谢 #include <iostream> #include <ctime> #include <cstdlib> #include <iomanip> #include <math.h> #include <ctime> #include <fstream> #include <vector> #include <iterator> #include <algorithm> using namespace std; using namespace std; using namespace System; using namespace System::IO; /*int Grid[ 4 ][ 4 ] = { { 29, 8, 11, 9 }, { 22, 24, 3, 15 }, { 24, 26, 5, 6 }, { 33, 10, 32, 21} }; int Grid[ 4 ][ 4 ] = { { 0, 0, -5, 0.0 }, { -1, 0, 2, 2 }, { 2, 0, 0, 0 }, { 0, 2, 0, -1} }; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ int g[16] = {33,10,32,21,24,26,5,6,22,24,3,15,29,8,11,9}; int r[16] = {0,2,0,-1,2,0,0,0,-1,0,2,2,0,0,-5,0}; #define SPACE "[ ]" bool Finished( false ); int m[4]; //int E = 6; int E, E1, E2, E3; void printmatrix(char arg[], int length) { for (int j = length; j >= 0; j=-4) { cout <<"\n" << arg[j] << "\n "; } //} } void FindNextPos() { std::cout<<"\n"<<"Search Path 1"<<"\n"; for (int c= 1; c < 5; c++) { if(r[c] != r[3]) { m[c] = 1; E = E + r[c] - 1; //std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E <<")"<<m[c]<< std::endl; //system("pause"); } else { Finished = true; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E <<")"<<m[c]<< std::endl; } } for (int c= 7; c <= 16; c= c+ 4) { if(r[c] != r[16]){ m[c] = 2; E = E + r[c] - 1; //std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E <<")"<< std::endl; //system("pause"); } else { //m[c] = 2; Finished = true; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E <<")"<< std::endl; } } } //int E1 = 6; void nextpos1(){ std::cout<<"\n"<<"Search Path 2"<<"\n"; for (int c= 0; c < 3; c++) { if(r[c] != r[3]) { m[c] = 3; E1 = E1 + r[c] - 1; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E1 <<")"<< std::endl; //system("pause"); } else { Finished = true; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E1 <<")"<< std::endl; } } for (int c= 6; c < 15; c= c + 4) { if(r[c] != r[16]){ m[c] = 4; E1 = E1 + r[c] - 1; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E1 <<")"<< std::endl; //system("pause"); } else { m[c] = 4; Finished = true; std::cout<<"(ID,C,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E1 + r[c] - 1 <<")"<< std::endl; } } for (int c= 15; c < 16; ++c) { if(r[c] != 0){ m[c] = 5; E1 = E1 + r[c] - 1; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E1 <<")"<< std::endl; //system("pause"); } else { m[c] = 5; Finished = true; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E1 <<")"<< std::endl; std::cout << "\n"<<"finish-->" << r[c] << "\t" <<"E1-->"<< E1 <<"\n" ; } } } //int E2 = 6; void nextpos2(){ std::cout<<"\n"<<"Search Path 3"<<"\n"; for (int c= 0; c < 2; c++) { if(r[c] != r[3]) { m[c] = 6; E2 = E2 + r[c] - 1; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E2 <<")"<< std::endl; //system("pause"); } else { Finished = true; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E2 <<")"<< std::endl; } } for (int c= 1; c < 12; c= c + 4) { if(r[c] != r[14]){ m[c] = 7; E2 = E2 + r[c] - 1; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E2 <<")"<< std::endl; //system("pause"); } else { //m[c] = 7; Finished = true; std::cout<<"(C,E)"<<"-->"<<"("<<r[c]<<","<<E2 + r[c] - 1 <<")"<< std::endl; } } for (int c= 13; c < 16; ++c) { m[c] = 8; if(r[c] != r[16]){ E2 = E2 + r[c] - 1; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E2 <<")"<< std::endl; //system("pause"); } else { // m[c] = 8; Finished = true; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E2 <<")"<< std::endl; std::cout << "\n"<<"finish-->" << r[c] << "\t" <<"E-->"<< E1 <<"\n" ; } } } //int E3 = 6; void nextpos3(){ std::cout<<"\n"<<"Search Path 4"<<"\n"; for (int c= 0; c <= 12; c= c+ 4) //for (int c= 4; c <= 12; c= c+ 4) { if(r[c] != r[12]) { m[c] = 11; E3 = E3 + r[c] - 1; std::cout<<"\n"; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E3 <<")"<< std::endl; //system("pause"); } else { m[c] = 11; Finished = true; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E3 + r[c] - 1 <<")"<< std::endl; } } E3 = E3 -1; for (int c= 13; c < 16; c++) { if(r[c] != r[15]){ m[c] = 12; E3 = E3 + r[c] - 1; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E3 <<")"<< std::endl; //system("pause"); } else { m[c] = 12; Finished = true; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E3 + r[c] - 1 <<")"<< std::endl; } } } void nextpos4(){ int E4 = 6; std::cout<<"\n"<<"Search Path 5"<<"\n"; for (int c= 4; c <= 8; c= c+ 4) //for (int c= 4; c <= 12; c= c+ 4) { if(r[c] != r[8]) { cout<<E4; m[c] = 13; E4 = E4 + r[c] - 1; std::cout<<"\n"; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E4 <<")"<< std::endl; //system("pause"); } else { m[c] = 13; Finished = true; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E4 + r[c] - 1 <<")"<< std::endl; } } E4 = E4 -1; for (int c= 9; c < 12; c++) { if(r[c] != r[11]){ m[c] = 14; E4 = E4 + r[c] - 1; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E4 <<")"<< std::endl; //system("pause"); } else { m[c] = 14; Finished = true; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E3 + r[c] - 1 <<")"<< std::endl; } } for (int c= 11; c < 16; c = c + 4) { if(r[c] != r[15]){ //m[c] = 15; E4 = E4 + r[c] - 1; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E4 <<")"<< std::endl; //system("pause"); } else { m[c] = 15; Finished = true; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E4 + r[c] - 1 <<")"<< std::endl; } } } void PrintRoute( void ) {//std::cout << "Start Node : " << g[0]<<"\t" <<"Finish Node : " << g[15] <<"\n"; std::cout << "\n"<< "Route 1 : "<<"\n"; for (int c= 1; c < 14; c++) { if( m[c] == 1) std::cout<< "[r]-->"<<"\t"; else if (m[c] == 2) std::cout<< "[u]-->"<<"\t"; else std::cout <<""; } std::cout << "\n"; } void PrintRoute1( void ) {//std::cout << "\n"<< "Start Node : " << g[0]<<"\t" << "Finish Node : " << g[15]<<"\n"; std::cout << "\n"<< "Route 2 : "<<"\n"; for (int c= 1; c < 16; c++) { if( m[c] == 3 ) std::cout<< "[r]-->"<<"\t"; else if (m[c] == 4 ) std::cout<< "[u]-->"<<"\t"; else if (m[c] == 5) std::cout<<"[r]-->"<<"\t"; else std::cout <<""; } std::cout << "\n"; } void PrintRoute2( void ) {//std::cout << "\n"<< "Start Node : " << g[0] <<"\t"<< "Finish Node : " << g[15]<<"\n"; std::cout << "\n"<< "Route 3: "<<"\n"; for (int c= 0; c < 15; c++) { if( m[c] == 6 || m[c] == 8 ) std::cout<< "[r]-->"<<"\t"; else if (m[c] == 7 ) std::cout<< "[u]-->"<<"\t"; //else if (m[c] == 8) // std::cout<<"[r]"<<"\t"; else std::cout <<""; } std::cout << "\n"; } void PrintRoute3( void ) {//std::cout << "Start Node : " << g[0] <<"\t"<< "Finish Node : " << g[15]<<"\n"; std::cout << "\n"<< "Route 4 : "<<"\n"; for (int c = 0; c <= 15; c++) { if( m[c] == 11) std::cout<< "[u]-->"<<"\t"; else if (m[c] == 12) std::cout<< "[r]-->"<<"\t"; else std::cout <<""; } std::cout << "\n"; } void PrintRoute4( void ) {//std::cout << "\n"<< "Start Node : " << g[0]<<"\t" << "Finish Node : " << g[15]<<"\n"; std::cout << "\n"<< "Route 2 : "<<"\n"; for (int c= 1; c < 16; c++) { if( m[c] == 13 ) std::cout<< "[u]-->"<<"\t"; else if (m[c] == 14 ) std::cout<< "[r]-->"<<"\t"; else if (m[c] == 15) std::cout<<"[u]-->"<<"\t"; else std::cout <<""; } } int main( ) { int E,E1,E2,E3; int a, b; int m[4][4]; ifstream in; char state1[] = {'d','p','S','1','3'}; printmatrix(state1, 4); cout<<"open test file : press"; in.open("C:/Users /test.txt"); if (!in) { cout << "Cannot open file.\n"; system("pause"); return 0; } for (b = 1; b <= 4; b++) {cout << "\n"; for (a = 1; a <= 4; a++) { in >> m[a][b]; cout <<"\t" << "["<<m[a][b] <<"]" ; } cout << "\n"; // } in.close(); std::cout << "\n"; int mt[6][6]; cout<<"open training file : press"; ifstream i; i.open("C:/Users/training.txt"); if (!i) { cout << "Cannot open file.\n"; return 0; } cout << "\n"; for (b = 1; b <= 6; b++) {cout << "\n"; for (a = 1; a <= 6; a++) { i >> mt[a][b]; cout <<"\t" << "["<<mt[a][b] <<"]" ; } cout << "\n"; } i.close(); std::cout << "\n"; system("pause"); int F = E = E1 = E2= E3; std::cout<< "Enter Energy E"; //std::cin>>E >> E1 >> E2 >> E3 >>E4; std::cin>>F; std::cout << "Start Node : " << g[0] <<"\t"<< "Finish Node : " << g[15]<<"\n"; while( !Finished ) FindNextPos(); PrintRoute( ); nextpos1(); PrintRoute1(); nextpos2(); PrintRoute2(); nextpos3(); PrintRoute3(); nextpos4(); PrintRoute4(); std::cin.get( ); system("pause"); return 0; }

Visual c++ 如何使这个路径找到C++代码变成动态的,以便代理可以自己搜索路径 如何使这个路径找到C++代码到动态,这样代理可以自己从网格的一个角落搜索路径到另一个角落,但是代理不能看到,除非移动到网格。我是新的C++,尝试制作这个小程序,但它看起来是静态的,我需要帮助,这样我就可以把它变成动态的,或者可以代理自己做路径搜索,而不是指派路径,到目前为止我做了5条不同的路径,因为代理可以选择任意多条路径,但路径长度应为6,并且只能向上或向右移动。任何帮助都将不胜感激。 提前谢谢 #include <iostream> #include <ctime> #include <cstdlib> #include <iomanip> #include <math.h> #include <ctime> #include <fstream> #include <vector> #include <iterator> #include <algorithm> using namespace std; using namespace std; using namespace System; using namespace System::IO; /*int Grid[ 4 ][ 4 ] = { { 29, 8, 11, 9 }, { 22, 24, 3, 15 }, { 24, 26, 5, 6 }, { 33, 10, 32, 21} }; int Grid[ 4 ][ 4 ] = { { 0, 0, -5, 0.0 }, { -1, 0, 2, 2 }, { 2, 0, 0, 0 }, { 0, 2, 0, -1} }; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ int g[16] = {33,10,32,21,24,26,5,6,22,24,3,15,29,8,11,9}; int r[16] = {0,2,0,-1,2,0,0,0,-1,0,2,2,0,0,-5,0}; #define SPACE "[ ]" bool Finished( false ); int m[4]; //int E = 6; int E, E1, E2, E3; void printmatrix(char arg[], int length) { for (int j = length; j >= 0; j=-4) { cout <<"\n" << arg[j] << "\n "; } //} } void FindNextPos() { std::cout<<"\n"<<"Search Path 1"<<"\n"; for (int c= 1; c < 5; c++) { if(r[c] != r[3]) { m[c] = 1; E = E + r[c] - 1; //std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E <<")"<<m[c]<< std::endl; //system("pause"); } else { Finished = true; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E <<")"<<m[c]<< std::endl; } } for (int c= 7; c <= 16; c= c+ 4) { if(r[c] != r[16]){ m[c] = 2; E = E + r[c] - 1; //std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E <<")"<< std::endl; //system("pause"); } else { //m[c] = 2; Finished = true; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E <<")"<< std::endl; } } } //int E1 = 6; void nextpos1(){ std::cout<<"\n"<<"Search Path 2"<<"\n"; for (int c= 0; c < 3; c++) { if(r[c] != r[3]) { m[c] = 3; E1 = E1 + r[c] - 1; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E1 <<")"<< std::endl; //system("pause"); } else { Finished = true; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E1 <<")"<< std::endl; } } for (int c= 6; c < 15; c= c + 4) { if(r[c] != r[16]){ m[c] = 4; E1 = E1 + r[c] - 1; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E1 <<")"<< std::endl; //system("pause"); } else { m[c] = 4; Finished = true; std::cout<<"(ID,C,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E1 + r[c] - 1 <<")"<< std::endl; } } for (int c= 15; c < 16; ++c) { if(r[c] != 0){ m[c] = 5; E1 = E1 + r[c] - 1; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E1 <<")"<< std::endl; //system("pause"); } else { m[c] = 5; Finished = true; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E1 <<")"<< std::endl; std::cout << "\n"<<"finish-->" << r[c] << "\t" <<"E1-->"<< E1 <<"\n" ; } } } //int E2 = 6; void nextpos2(){ std::cout<<"\n"<<"Search Path 3"<<"\n"; for (int c= 0; c < 2; c++) { if(r[c] != r[3]) { m[c] = 6; E2 = E2 + r[c] - 1; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E2 <<")"<< std::endl; //system("pause"); } else { Finished = true; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E2 <<")"<< std::endl; } } for (int c= 1; c < 12; c= c + 4) { if(r[c] != r[14]){ m[c] = 7; E2 = E2 + r[c] - 1; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E2 <<")"<< std::endl; //system("pause"); } else { //m[c] = 7; Finished = true; std::cout<<"(C,E)"<<"-->"<<"("<<r[c]<<","<<E2 + r[c] - 1 <<")"<< std::endl; } } for (int c= 13; c < 16; ++c) { m[c] = 8; if(r[c] != r[16]){ E2 = E2 + r[c] - 1; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E2 <<")"<< std::endl; //system("pause"); } else { // m[c] = 8; Finished = true; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E2 <<")"<< std::endl; std::cout << "\n"<<"finish-->" << r[c] << "\t" <<"E-->"<< E1 <<"\n" ; } } } //int E3 = 6; void nextpos3(){ std::cout<<"\n"<<"Search Path 4"<<"\n"; for (int c= 0; c <= 12; c= c+ 4) //for (int c= 4; c <= 12; c= c+ 4) { if(r[c] != r[12]) { m[c] = 11; E3 = E3 + r[c] - 1; std::cout<<"\n"; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E3 <<")"<< std::endl; //system("pause"); } else { m[c] = 11; Finished = true; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E3 + r[c] - 1 <<")"<< std::endl; } } E3 = E3 -1; for (int c= 13; c < 16; c++) { if(r[c] != r[15]){ m[c] = 12; E3 = E3 + r[c] - 1; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E3 <<")"<< std::endl; //system("pause"); } else { m[c] = 12; Finished = true; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E3 + r[c] - 1 <<")"<< std::endl; } } } void nextpos4(){ int E4 = 6; std::cout<<"\n"<<"Search Path 5"<<"\n"; for (int c= 4; c <= 8; c= c+ 4) //for (int c= 4; c <= 12; c= c+ 4) { if(r[c] != r[8]) { cout<<E4; m[c] = 13; E4 = E4 + r[c] - 1; std::cout<<"\n"; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E4 <<")"<< std::endl; //system("pause"); } else { m[c] = 13; Finished = true; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E4 + r[c] - 1 <<")"<< std::endl; } } E4 = E4 -1; for (int c= 9; c < 12; c++) { if(r[c] != r[11]){ m[c] = 14; E4 = E4 + r[c] - 1; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E4 <<")"<< std::endl; //system("pause"); } else { m[c] = 14; Finished = true; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E3 + r[c] - 1 <<")"<< std::endl; } } for (int c= 11; c < 16; c = c + 4) { if(r[c] != r[15]){ //m[c] = 15; E4 = E4 + r[c] - 1; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E4 <<")"<< std::endl; //system("pause"); } else { m[c] = 15; Finished = true; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E4 + r[c] - 1 <<")"<< std::endl; } } } void PrintRoute( void ) {//std::cout << "Start Node : " << g[0]<<"\t" <<"Finish Node : " << g[15] <<"\n"; std::cout << "\n"<< "Route 1 : "<<"\n"; for (int c= 1; c < 14; c++) { if( m[c] == 1) std::cout<< "[r]-->"<<"\t"; else if (m[c] == 2) std::cout<< "[u]-->"<<"\t"; else std::cout <<""; } std::cout << "\n"; } void PrintRoute1( void ) {//std::cout << "\n"<< "Start Node : " << g[0]<<"\t" << "Finish Node : " << g[15]<<"\n"; std::cout << "\n"<< "Route 2 : "<<"\n"; for (int c= 1; c < 16; c++) { if( m[c] == 3 ) std::cout<< "[r]-->"<<"\t"; else if (m[c] == 4 ) std::cout<< "[u]-->"<<"\t"; else if (m[c] == 5) std::cout<<"[r]-->"<<"\t"; else std::cout <<""; } std::cout << "\n"; } void PrintRoute2( void ) {//std::cout << "\n"<< "Start Node : " << g[0] <<"\t"<< "Finish Node : " << g[15]<<"\n"; std::cout << "\n"<< "Route 3: "<<"\n"; for (int c= 0; c < 15; c++) { if( m[c] == 6 || m[c] == 8 ) std::cout<< "[r]-->"<<"\t"; else if (m[c] == 7 ) std::cout<< "[u]-->"<<"\t"; //else if (m[c] == 8) // std::cout<<"[r]"<<"\t"; else std::cout <<""; } std::cout << "\n"; } void PrintRoute3( void ) {//std::cout << "Start Node : " << g[0] <<"\t"<< "Finish Node : " << g[15]<<"\n"; std::cout << "\n"<< "Route 4 : "<<"\n"; for (int c = 0; c <= 15; c++) { if( m[c] == 11) std::cout<< "[u]-->"<<"\t"; else if (m[c] == 12) std::cout<< "[r]-->"<<"\t"; else std::cout <<""; } std::cout << "\n"; } void PrintRoute4( void ) {//std::cout << "\n"<< "Start Node : " << g[0]<<"\t" << "Finish Node : " << g[15]<<"\n"; std::cout << "\n"<< "Route 2 : "<<"\n"; for (int c= 1; c < 16; c++) { if( m[c] == 13 ) std::cout<< "[u]-->"<<"\t"; else if (m[c] == 14 ) std::cout<< "[r]-->"<<"\t"; else if (m[c] == 15) std::cout<<"[u]-->"<<"\t"; else std::cout <<""; } } int main( ) { int E,E1,E2,E3; int a, b; int m[4][4]; ifstream in; char state1[] = {'d','p','S','1','3'}; printmatrix(state1, 4); cout<<"open test file : press"; in.open("C:/Users /test.txt"); if (!in) { cout << "Cannot open file.\n"; system("pause"); return 0; } for (b = 1; b <= 4; b++) {cout << "\n"; for (a = 1; a <= 4; a++) { in >> m[a][b]; cout <<"\t" << "["<<m[a][b] <<"]" ; } cout << "\n"; // } in.close(); std::cout << "\n"; int mt[6][6]; cout<<"open training file : press"; ifstream i; i.open("C:/Users/training.txt"); if (!i) { cout << "Cannot open file.\n"; return 0; } cout << "\n"; for (b = 1; b <= 6; b++) {cout << "\n"; for (a = 1; a <= 6; a++) { i >> mt[a][b]; cout <<"\t" << "["<<mt[a][b] <<"]" ; } cout << "\n"; } i.close(); std::cout << "\n"; system("pause"); int F = E = E1 = E2= E3; std::cout<< "Enter Energy E"; //std::cin>>E >> E1 >> E2 >> E3 >>E4; std::cin>>F; std::cout << "Start Node : " << g[0] <<"\t"<< "Finish Node : " << g[15]<<"\n"; while( !Finished ) FindNextPos(); PrintRoute( ); nextpos1(); PrintRoute1(); nextpos2(); PrintRoute2(); nextpos3(); PrintRoute3(); nextpos4(); PrintRoute4(); std::cin.get( ); system("pause"); return 0; },visual-c++,Visual C++,你将需要某种帮助 A*A-Star算法可能是一个很好的起点。解释得很好。如果A*看起来很复杂,你可以先试试Dijkstra的算法。Dijkstra的算法与A*相同,但没有启发式估计的目标成本

你将需要某种帮助

A*A-Star算法可能是一个很好的起点。解释得很好。如果A*看起来很复杂,你可以先试试Dijkstra的算法。Dijkstra的算法与A*相同,但没有启发式估计的目标成本