thanhnhan_776

Trần Thành Nhân

Đóng góp: 0

Ngày sinh: 03/01/1998

Đăng ký: 06/09/2015

Lần đăng nhập cuối: 11/02/2018


Kết nối tài khoản

VOJ: Chưa kết nối

Cài đặt hàm và thủ tục trong C++

Mọi người cho em hỏi, nếu chuyển code Pascal này sang C++ thì như thế nào ạ?

procedure init;
var x, maxx, i: longint;

   procedure DFS(u: longint);
   var j: longint;
   begin
      if (value[u]>maxx) then
         begin
            x:= u;
            maxx:= value[u];
         end;
      for j:= 1 to n do
         if (a[u,j] and free[j]) then
            begin
               free[j]:= false;
               value[j]:= value[u]+1;
               DFS(j);
            end;
   end;

begin
   maxx:= 0;
   value[1]:= 1;
   for i:= 1 to n do free[i]:= true;
   free[1]:= false;
   DFS(1);
end;

Em muốn hỏi là có cách nào để thủ tục DFS sử dụng biến x và maxx của thủ tục init hay không mà không phải khai báo hai biến đó là cục bộ.

Nhân tiện cho em hỏi, cách cài đặt hai hàm lồng nhau như vậy gọi là gì ạ?