Đăng Nhập

Vui lòng khai báo chính xác tên truy cập và mật khẩu!

Quên mật khẩu?

code chuyển từ ds cạnh sang ma trận kề 2

Share
    Admin
    avatar

    Giới tính : Nam

    Đến từ : TPHCM

    Ngày Tham gia : 03/04/2011

    Tổng số bài gửi : 2292

    #1

     on Tue Oct 11, 2011 8:53 pm


    code chuyển từ ds cạnh sang ma trận kề 2
    Code:
    #include<iostream.h>
    #include<fstream.h>

    #define FI "ChuyenDoiDoThi4.inp"
    #define FO "ChuyenDoiDoThi4.out"
    ifstream finp (FI);
    ofstream fout (FO);

    #define MAX 100
    int i,j;


    typedef struct EdgeTag
    {
       int u, v;
    } Edge;
    typedef struct GraphTag4
    {
       int m;
       Edge e[MAX];
       int a[MAX][MAX];
    } Graph4;

    void InputGraph(Graph4 &g)
    {
       for (i=0;i<6;i++)
                  for (j=0;j<6;j++)
             g.a[i][j]=0;
       finp >> g.m;
       for (i=0; i<g.m; i++)
       {
          finp >> g.e[i].u >> g.e[i].v;
          g.a[g.e[i].u][g.e[i].v]=1;
          g.a[g.e[i].v][g.e[i].u]=1;
          
       }
          
    }

    void OutputGraph(Graph4 g)
    {
       for (i=0;i<6;i++)
       { 
          for (j=0;j<6;j++)
             fout<<g.a[i][j]<<" ";
          fout<<endl;
       }
    }

    void main()
    {
       Graph4 g;
       InputGraph(g);
        OutputGraph(g);

       finp.close();
       fout.close();
    }

    đoạn code trên có gì chưa tối ưu xin góp ý
    Code:


    int max;
    void InputGraph(Graph4 &g)
    {

       for (i=0;i<MAX;i++)
                  for (j=0;j<MAX;j++)
             g.a[i][j]=0;
       finp >> g.m;
       for (i=0; i<g.m; i++)
       {
          finp >> g.e[i].u >> g.e[i].v;
          // ma tran ke la ma tran doi xung
          g.a[g.e[i].u][g.e[i].v]=1;
          g.a[g.e[i].v][g.e[i].u]=1;
          max=g.e[i].v;   
       }
          
    }

    void OutputGraph(Graph4 g)
    {
       for (i=0;i<max+1;i++)
       { 
          for (j=0;j<max+1;j++)
             fout<<g.a[i][j]<<" ";
          fout<<endl;
       }
    }
    [Click để xem tài sản / chữ kí của Admin]