Có thể bạn quan tâm


Đang tải thanh công cụ tìm kiếm ...

Hiện kết quả từ 1 tới 1 của 1

Không hiểu cơ chế làm việc của code này (Pascal) !

Chủ đề được gửi trong chuyên mục Mã hóa-Giải mã & Thuật toán bởi ducanh76


  1. 20-03-2010, 03:36 PM

    Không hiểu cơ chế làm việc của code này (Pascal) !

    Mình có code của bài toán in ra tất cả các hoán vị của nó mà mình không hiểu được chế độ làm việc của nó như thế nào, mong mọi người giúp:
    Code:
    uses crt;
    var a,b:array[1..20] of byte;
    PROCEDURE print;
     var i:byte;
      begin
       for i:=1 to n do
        write(a[i]:3);
        writeln;
       end;
    {------------------------------}
    PROCEDURE find(i:byte);
     var j:byte;
       begin
         if i>n then print
         else 
          begin
           for j:=1 to n do
             if b[j]=0 then
              begin
                a[i]:=j;
                b[j]:=1;
                find(i+1);
                b[j]:=0;
              end;
          end;
       end;
    
    BEGIN
    Write(' Nhap  n = '); readln(n);
    find(1);
    END.
    Mình không hiểu từ chỗ " if b[j]=0'
    ở đây không hề có lệnh nhập hay gán b[j]= bao nhiêu vậy thì làm sao để kiểm tra b[j] ?
    Hi ducanh76, chúc ducanh76 một ngày tốt lành !
    Nhấn thanks nếu thấy bài viết có ích nhé
    ducanh76

Thông tin đề tài

Users Browsing this Thread

Hiện đang có 1 người đang xem bài viết này. (0 thành viên và 1 khách)

Visitors found this page by searching for:

Updating