Thực hành Lý thuyết đồ thị - Biểu diễn đồ thị (P1)

Thực hành Lý thuyết đồ thị - Biểu diễn đồ thị (P1)

Xây dựng các hàm phục vụ cho việc tạo ma trận kề của đồ thị cần biễu diễn bằng ngôn ngữ C/C++, gồm có:

  • Nhập ma trận kề: Cho phép nhập thông tin về đồ thị bằng tay gồm số đỉnh N, các giá trị Ai,j của ma trận kề
  • Đọc ma trận kề từ file: Cho phép nhập thông tin về đồ thị từ file chứa các giá trị của ma trận kề gồm số đỉnh N, các giá trị Ai,j.
  • Xuất ma trận kề: In thông tin về đồ thị ở dạng ma trận kề gồm các giá trị Ai,j

Xem thêm phần 2 xây dựng thuật toán

>> Thực hành Lý thuyết đồ thị - Duyệt đồ thị (P2)

Source

#define MaxV 20 //Define su dung cho so dinh cuc dai cua do thi

int A[MaxV][MaxV];      //Ma tran ke

int V = 0;                          //So dinh cua do thi

int ChuaXet[MaxV];


//Thu tuc nhap matran ke bang ban phim.

void NhapMTKe(int A[][MaxV], int &V)

{

     printf("Nhap V:");

     scanf("%d", &V);

     for (int i=0; i<V; i++)

     {

                 for (int j=0; j<V; j++)

                 {

                             printf("A[%d,%d] = ", i+1, j+1);

                             scanf("%d", &(A[i][j]));

                 }

     }

}


// Xuat ket qua ma tran ke cua do thi ra man hinh.

void XuatMTKe(int A[][MaxV], int V)

{

     printf("\nMa tran ke:\n");

     for (int i=0; i<V; i++)

     {

                 for (int j=0; j<V; j++)

                             printf("%3d ", A[i][j]);

                 printf("\n");

     }

}


//Doc du lieu ma tran ke cua do thi da duoc tao thanh file text luu san tren dia.

int DocMTKe(char *fileName, int A[][MaxV], int &V)

{

     FILE *f = fopen(fileName, "rt");

     if (f == NULL)

     {

                 printf("Doc file loi !!!");

                 return 0;

     }

     fscanf(f, "%d", &V);

     for (int i=0; i<V; i++)

     {

                 for (int j=0; j<V; j++)

                 {

                             fscanf(f, "%d", &(A[i][j]));

                 }

     }

     return 1;

}
Bạn thấy bài viết này như thế nào?: 
No votes yet
Ảnh của Khanh Hoang

Khanh Hoang - Kenn

Kenn is a user experience designer and front end developer who enjoys creating beautiful and usable web and mobile experiences.

Bình luận (0)

 

Add Comment

Plain text

  • No HTML tags allowed.
  • Các địa chỉ web và email sẽ tự động được chuyển sang dạng liên kết.
  • Tự động ngắt dòng và đoạn văn.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
1 + 0 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
[LimoenGroen]: Continuous Integration & Drupal là gì?

[LimoenGroen]: Continuous Integration & Drupal là gì?

Continuous integration (CI) is the practice of frequently integrating one's new or changed code with the existing code repository.

Sử dụng Hashtag trên Facebook hiệu quả 2015

Sử dụng Hashtag trên Facebook hiệu quả 2015

Nghĩ tới hashtag, mọi người sẽ nghĩ ngay tới Twitter. Có lẽ việc Twitter sử dụng hashtags

Samsung đạt lợi nhuận kỉ lục 5,86 tỉ USD trong quý II-2012

Samsung đạt lợi nhuận kỉ lục 5,86 tỉ USD trong quý II-2012

Samsung vừa công bố kết quả tài chính quý II 2012 với các thông số hết sức lạc quan, cụ thể tổng lợi nhuận của hãng đạt 5,86 tỉ USD - tăng 79% so với cùng kỳ năm ngoái, trong đó mảng kinh doanh đem về cho họ 3,65 tỉ USD tiền lời.

Wordpress Freelancer

 

Wordpress Freelancer