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?: 
Average: 6.5 (2 votes)
Ả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

Filtered HTML

  • Các địa chỉ web và email sẽ tự động được chuyển sang dạng liên kết.
  • Các thẻ HTML được chấp nhận: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Tự động ngắt dòng và đoạn văn.

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.

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

 
Nhìn lại chặng đường thống trị thế giới của Facebook

Nhìn lại chặng đường thống trị thế giới của Facebook

Ra đời trong một căn phòng trong ký túc xá Đại học Harvard, sau hơn 10 năm,

Cách sử dụng trình biên soạn Vim

Cách sử dụng trình biên soạn Vim

Vim là một trong những trình biên soạn dòng lệnh mạnh và phổ biến nhất. Nó chỉ sẵn có trên nền của Linux và Unix, những sau đó nó cũng xuất hiện cả trên Windows.

Giá bán của ZTE Grand S bị rò rỉ trước thềm triển lãm CES 2013

Giá bán của ZTE Grand S bị rò rỉ trước thềm triển lãm CES 2013

Bên cạnh Nubia Z5, ZTE dự kiến sẽ công bố thêm thành viên Grand S có màn hình 5 inch với độ phân giải 1080p tại triển lãm CES 2013 diễn ra vào đầu năm sau.

Công ty diệt chuột T&C

 

Diet con trung