[問題] xcode打不開但在vs上卻打的開

看板C_and_CPP (C/C++)作者 (風)時間10年前 (2015/10/22 12:07), 編輯推噓2(204)
留言6則, 5人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): #include <iostream> using namespace std; #include <queue> #include <vector> #include<fstream> #include<stack> void BFS(int StartNode, vector<vector<bool>> adj, int nodeNum){ int *preNode = new int[nodeNum]; bool *endNode = new bool[nodeNum]; bool *visit = new bool[nodeNum]; for (int i = 0; i < nodeNum; i++){ endNode[i] = true; preNode[i] = -100; visit[i] = false; } preNode[StartNode] = StartNode; queue<int> q; // int k = 0; /*for (int k = 0; k<nodeNum; k++) if (!visit[k]) {*/ // 一、把起點放入queue。 q.push(StartNode); visit[StartNode] = true; // 二、重複下述兩點,直到queue裡面沒有東西為止: while (!q.empty()) { // 甲、從queue當中取出一點。 int i = q.front(); q.pop(); // 乙、找出跟此點相鄰的點,並且尚未遍歷的點, // 依照編號順序通通放入queue。 for (int j = 0; j<nodeNum; j++) if (adj[i][j] && !visit[j]) { q.push(j); preNode[j] = i; endNode[i] = false; visit[j] = true; } } //} cout << "i:" << (StartNode + 1) << endl; for (int k = 0; k < nodeNum; k++){ //cout << "k:" << (k + 1) << endl; stack<int> s; int node = k; s.push(k); int haha = 0; while (node != StartNode &&node != 0) { if (preNode[node] < 0) break; s.push(preNode[node]); node = preNode[node]; if (node == StartNode) haha = 1; } if (haha == 1){ while (!s.empty()){ cout << " v" << (s.top() + 1) << " "; s.pop(); } cout << endl; } } //cout << "i:"<<i << endl; } int main() { int a, b; // 臨時用的 int minNode = 1000;//最小點號碼 int maxNode = 0;//最大點號碼 vector<int> sN, eN;// 每個邊的StartNode 和 EndNote //輸入txt檔 fstream fin; fin.open("test.txt", ios::in); while (fin >> a >> b){ if (a < minNode) minNode = a; if (b < minNode) minNode = b; if (a> maxNode) maxNode = a; if (b > maxNode) maxNode = b; sN.push_back(a); eN.push_back(b); } int nodeNum = maxNode - minNode + 1; vector<vector <bool>> adj; adj.resize(nodeNum); for (int i = 0; i < nodeNum; i++){ adj[i].resize(nodeNum); for (int j = 0; j < nodeNum; j++){ adj[i][j] = false; } } for (int i = 0; i < sN.size(); i++){ adj[sN[i] - 1][eN[i] - 1] = true; } for (int i = 0; i < nodeNum; i++){ BFS(i, adj, nodeNum); } system("pause"); return 0; } 在xcode上顯示錯誤訊息 http://i.imgur.com/DQzVxLg.jpg
餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): -- Sent from my Android -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.83.17.9 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1445486841.A.45F.html

10/22 12:11, , 1F
nodeNum 是 -999捏~ 你訊息上面不是有寫嗎
10/22 12:11, 1F

10/22 16:16, , 2F
可是為什麼在vs上沒有這個問題呢?
10/22 16:16, 2F

10/22 19:28, , 3F
被和諧掉了之類的吧
10/22 19:28, 3F

10/22 20:35, , 4F
意思是說vs可以讀到檔案,xcode不行... 執行的目錄不同?
10/22 20:35, 4F

10/23 18:27, , 5F
工作目錄不同 你去xcode左邊project 看一下執行黨
10/23 18:27, 5F

10/23 18:27, , 6F
按右鍵選show in finder 你就懂了
10/23 18:27, 6F
文章代碼(AID): #1MA63vHV (C_and_CPP)
文章代碼(AID): #1MA63vHV (C_and_CPP)