Read-only archive. Login and posting are unavailable.

PDA

View Full Version : Lập trình :Bài toán người du lịch . Cần giúp đỡ


pht_dce
14-11-2009, 15:23
Hiz, mình làm bài này từ sáng đến h , nhưng nó vẫn chưa chịu chạy . Ace pro vô giúp mình với :

#include
#include
#include

int price[20][20]; // ma trận chi phí
int city[20];
int bestway[20];
int flag[20];
int n,can,kyluc,pmin;

void Nhapdulieu();
void Try(int i);
void Init();
void Ghinhankyluc();
void Inketqua();
void Swap();

void Nhapdulieu(){
int i,j,n, temp ;
printf("Nhap so thanh pho : "); scanf("%d",&n);
for(i=1 ; i<=n ; i++){
for(j=1 ; j<=n ; j++){
printf("Nhap chi phi tu thanh pho %d den thanh pho %d : ",i,j);
scanf("%d",&temp);
price[i]= temp;
if(i==j) price[i]=0;
}
}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
printf("%3d ",price[i]);
pmin = price[1][2];
for(i=1;i<=n;i++){ // tìm giá nhỏ nhất trong ma trận
for(j=1;j<=n;j++){
if ((i!=j)&&(pmin>price[i])) pmin = price[i];
}
}
printf("\n %d",pmin) ;
}

void Try(int i){ // thử từng trường hợp
int j;
for(j=2;j<=n;j++){
if (flag==0){
city[i]=j;
flag=1;
can= can + price[city[i-1]][city[i]];
if(i==n) Ghinhankyluc() ;
else
if (can+(n-i+1)*pmin < kyluc) Try(i+1);
flag=0;
can= can-price[city[i-1]][city[i]];
}
}
}


void Ghinhankyluc(){
int i,tongcp;
tongcp= can + price[city][city[1]] ;
if (tongcp < kyluc){
kyluc = tongcp;
for(i=1;i<=n;i++)
bestway[i] = city[i];
}
}

void Inketqua(){
int i;
printf("\n Chi phi thap nhat : ", kyluc);
printf("\n Con duong co chi phi thap nhat:");
for(i=1;i<=n;i++)
printf("%3d -> ",bestway[i]);
printf("%d",1);
}

void Init(){
int i;
printf("\n %d",pmin);
kyluc= 30000;
can = 0;
city[1]=1;
for(i=1;i<=n;i++)
flag[i]=0;
}
void main(){

Nhapdulieu();
Init();
Try(2);
Ghinhankyluc();
Inketqua();
getch();
}


Mình đang gấp , bạn nào giúp mình sẽ tặng 999 nụ hôn nồng thắm :*

moneyloving
14-11-2009, 15:26
Sợ nhất là ngồi mò code kiểu này , nhìn đã chả muốn đọc rồi :-s.

pht_dce
14-11-2009, 15:34
Sợ nhất là ngồi mò code kiểu này , nhìn đã chả muốn đọc rồi :-s.

:sosad: sang h mình đọc mà ko hiểu sai ở đâu nữa . Có mấy dòng code mà tức quá :((

coy
14-11-2009, 15:41
Bro này nghiện voz tới mức này cơ à =)) Mấy cái chuyên môn này mang sang 4rum lập trình mà hỏi.

mt26691
14-11-2009, 16:06
:sosad: sang h mình đọc mà ko hiểu sai ở đâu nữa . Có mấy dòng code mà tức quá :((
dễ gì thấy chỗ mình sai, tốt nhất là bác xoá hẳn viết lại đi, vì mình viết trước rồi nên đỡ mất thời gian.

katurato
14-11-2009, 16:21
chậc. chơi món tuần tự này hơi phiền nhỉ. nay mình quen hướng dôid tượng rồi mò cái lày đuuối quá

anhdangtimvo2
14-11-2009, 17:41
đầu bài là gì? bụp phát đưa code, bố thằng nào ngồi soát đc

Quydienlangy
14-11-2009, 18:53
Cụ tỉ là bị gì.
Mình thử cop thì thấy chạy bình thường, lỗi thuật toán ra kết quả sai à.

pht_dce
14-11-2009, 19:28
đầu bài là gì? bụp phát đưa code, bố thằng nào ngồi soát đc
Bro này ko biết bài này à? Hay chưa học đến :baffle:


Cụ tỉ là bị gì.
Mình thử cop thì thấy chạy bình thường, lỗi thuật toán ra kết quả sai à.


Cụ thể là sau khi nhập xong chi phí thì nó dừng luôn , kiểm tra 1 hồi thì thấy các phần tử của mảng bestway[] chả có giá trị mà rõ ràng là mình đã truyền rồi :brick:

Dizzy
14-11-2009, 19:36
Bro này ko biết bài này à? Hay chưa học đến :baffle:

Cụ thể là sau khi nhập xong chi phí thì nó dừng luôn , kiểm tra 1 hồi thì thấy các phần tử của mảng bestway[] chả có giá trị mà rõ ràng là mình đã truyền rồi :brick:

Họ góp ý thiếu đề bài thế là đúng rồi.

Bạn nghĩ ai cũng học như bạn và ai cũng đủ kiên nhẫn để ngồi lần giúp 1 mớ bòng bong ko có diễn giả của bạn sao?

Touch it
14-11-2009, 20:48
Bro này ko biết bài này à? Hay chưa học đến :baffle:





Giỏi sao không tự làm đi. Nhờ giúp đỡ mà nói chuyện kiểu này thì chả ai thèm giúp :doubt:

pht_dce
14-11-2009, 23:57
Chẹp chẹp , thôi vậy , mình cũng tự sửa đc rồi

flyingdance103
15-11-2009, 00:45
cái này là toán rời rạc đây mà, hồi trước cũng học cái này :rofl:

jame1241
07-04-2010, 14:03
bạn sửa được code bài này chưa vậy ? nếu rồi có thể sent cho tớ tham khảo với được không? mình có bài tập: áp dụng thuật toán nhánh và cận giải quyết bài toán người du lịch.nhưng vẫn chưa viết được.
địa chỉ mail tớ là : game1241@gmail.com
cảm ơn bạn trước nha !

H_i_o_
08-04-2010, 02:47
Bro này ko biết bài này à? Hay chưa học đến :baffle:



Cụ thể là sau khi nhập xong chi phí thì nó dừng luôn , kiểm tra 1 hồi thì thấy các phần tử của mảng bestway[] chả có giá trị mà rõ ràng là mình đã truyền rồi :brick:

Thật là xạo ke