2016-04-01 76 views
0

我正在做我的旅遊銷售計劃(不使用STL)TSP矩陣爲什麼我的結果總是0?

我知道這不應該給我正確的答案。我試圖確保我的矩陣首先被正確加載。

任何人都可以在這裏看到問題嗎?無論我輸入什麼東西,我總是得到0的總成本。

附註:如何從一行讀取多個字符。我實際上需要從第6個點開始的字符。

//method for getting the minimum cost of the given routes. 

void getCost(){ 

for(int i = 0; i <50; i++){ 


for(int j = 0; j <50; j++){ 

    if (graph[i][j]>0) 
     totalCost == totalCost + graph[i][j]; 


    } 

} 

} 

    switch (line[0]) { 

     case 'c': 


     cCount++; 

     cout << "Added City: " << line << "\n"; 

     break; 

     case 'a': 

     aCount++; 

     c1 = line[2]; 
     c2 = line[4]; 
     cost = line[6]; 
     cout << "Added Route: " << line << "\n"; 
     graph[c1][c2] == cost; 



     break; 

     default: 

     getCost(); 
     cout << totalCost; 

     stop = true; 
     break; 
    } 

回答

0

以下是比較,而不是轉讓;它不會改變totalCost

totalCost == totalCost + graph[i][j]; 

爲了解決這個問題,寫

totalCost = totalCost + graph[i][j]; 

,或等效但更簡潔

totalCost += graph[i][j]; 
+0

我這樣做,但它仍然返回0顯然有多個問題 – Remixt

+0

@ClaytonBrant:你是否在'graph [c1] [c2] == cost'中修正了相同的問題? – NPE

+0

是的,我做過,我甚至檢查過,以確保第2行4和第6行有元素。 – Remixt