2016-04-01 38 views
0

Seyahat satış programımda (STL kullanımı olmadan) çalışıyorumTSP matrisi neden sonuç her zaman 0?

Bunun doğru yanıtı vermemesi gerektiğini biliyorum. İlk önce matrisimin doğru şekilde yüklendiğinden emin olmaya çalışıyorum.

Problemi gören var mı? Ne olursa olsun, toplam maliyet için her zaman 0 alırım.

Bir yan notta: Bir satırdan birden fazla karakteri nasıl okuyabilirim? Aslında 6'da başlayan karakterlere ihtiyacım var.

//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; 
    } 

cevap

0

Aşağıdaki bir karşılaştırma değil, bir ödevdir; ,

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

Bunu düzeltmek için

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

yazmak ya da eşdeğeri ama daha öz

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

ben yaptım, ama yine de 0. Görünüşe orada döndürür: o totalCost değişmez Birden fazla problem – Remixt

+0

@ClaytonBrant: Aynı problemi 'graph [c1] [c2] == cost 'olarak ayarladınız mı? – NPE

+0

Evet, 2 ve 6 numaralı satırların elemanlara sahip olduğundan emin olmak için bile kontrol ettim. – Remixt