Tìm thấy 2 mục

minhdao

thuật toán fordbellman - 4/12/2009, 21:55

các bác ơi ! sao em code nó chạy rồi mà nó xuất ra vẫn sai các bác xem hộ em nha

Code:
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
#define max 50
#define trongsomax 1000
int n,s,t;
int truoc[max],d[max],a[max][max];
void nhapsolieu()
{
    int i,j;
    FILE*f;
    f=fopen("fordbell.txt","rt");
    fscanf (f,"%d%d%d",&n,&s,&t);
    for(i=1;i<=n;i++)
    for(j=1;j<=n;j++)
    {
        fscanf(f,"%d",&a[i][j]);
        if(a[i][j]==0)
            a[i][j]=trongsomax;
    }
    fclose(f);
}
void insolieu()
{
    cout<<"Dinh nguon la:"<<s<<endl;
    cout<<"Dinh dich la:"<<t<<endl;
    for(int i=1;i<=n;i++)
    {
        for (int j=1;j<=n;j++)
        cout<<a[i][j]<<" ";
        cout<<endl;
    }
}
void inketqua()
{
    cout<<"Duong di ngan nhat tu"<<s<<"den"<<t<<":";
    cout<<t<<"<=";
    int i=truoc[t];
    while (i!=s)
    {
        cout<<i<<"<=";
        i=truoc[i];
    }
    cout<<s<<endl;
    cout<<"Do dai duong di ngan nhat la :"<<d[t]<<endl;
    cout<<"Khoang cach tu dinh "<<s<<"den cac dinh khac la:";
    for(i=1;i<=n;i++)
    cout<<d[i]<<" ";
    getch();
}
void ford_bellman()
{
    for(int v=1;v<=n;v++)
    {
        truoc[v]=s;
        d[v]=a[s][v];
    }
    d[s]=0;
    for(int k=1;k<=n-2;k++)
    for(int v=1;v<=n;v++)
    for(int u=1;u<=n;u++)
    if(d[v]>d[u]+a[u][v]&&v!=s)
    {
        d[v]=d[u]+a[u][v];
        truoc[v]=u;
    }
}
void main()
{
    nhapsolieu();
    insolieu();
    ford_bellman();
    inketqua();
}




fordbell.inp
515
01003
00338
0001-5
00200
00040

minhdao

win 7 bị lỗi - 15/11/2009, 10:32

các bác ơi !
mình cài win 7 rồi ,sau đó cài foxitreader
khi cài xong thì chỉ đọc được 1 số file pdf thôi ( lúc trước mình cài vista vẫn chay tốt)
mình cài đi cài lại nhiều lần vẫn thế mình cài adobe reader vẫn vậy
các bác giúp mình với


Về Đầu Trang

Hôm nay: 20/5/2012, 19:37