Dữ liệu vào: cho trong file Bai8.inp (đồ thị cho đã liên thông).
- Dòng đầu ghi số n là số đỉnh của một đồ thị (0- Dòng i+1 (1<= i <= n) chứa n số A[i,1],A[i,2]…A[i,n] mỗi số cách nhau bởi một khoảng trắng.

Bai1.inp
5
0 3 3 2 2
3 0 2 3 8
3 2 0 1 4
2 3 1 0 4
2 8 4 4 0

Code:

#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <values.h>
#define FileInt "D:\\temp\\Bai1.inp"

void Doc_File(int **A,unsigned int &n){
   FILE*f = fopen(FileInt,"rb");
   fscanf(f,"%d",&n);
   *A = new int [n];
   for(int i =0;i<n;i++) {
      A[i] = new int [n];
      for(int j =0;j<n;j++) {
         fscanf(f,"%d",&A[i][j]);
      }
   }
   fclose(f);
}

void Xuat_Mang(int **A, int n)
{
   for(int i =0;i<n;i++) {
      for(int j =0;j<n;j++) {
         cout<<A[i][j]<<" ";
      }
      cout<<endl;
   }
}
void main()
{
   unsigned int n;
   int **A;
   clrscr();
   Doc_File(A,n);
   Xuat_Mang(A,n);
   getch();
}