C_and_CPP 板


LINE

開發平台(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://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1445486841.A.45F.html
1F:→ wwyes: nodeNum 是 -999捏~ 你訊息上面不是有寫嗎 10/22 12:11
2F:→ hello881g: 可是為什麼在vs上沒有這個問題呢? 10/22 16:16
3F:→ longlongint: 被和諧掉了之類的吧 10/22 19:28
4F:推 yvb: 意思是說vs可以讀到檔案,xcode不行... 執行的目錄不同? 10/22 20:35
5F:推 Killercat: 工作目錄不同 你去xcode左邊project 看一下執行黨 10/23 18:27
6F:→ Killercat: 按右鍵選show in finder 你就懂了 10/23 18:27







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP