YOMEDIA
NONE

Viết chương trình để mã hoá và giải mã một xâu ký tự bằng cách đảo ngược các bit của từng ký tự trong xâu.

Theo dõi Vi phạm
ATNETWORK

Trả lời (1)

  • Uses crt;

    Var st:string;

    {Hàm đảo bit ký tự c}

    Function DaoBit(c:char):char;

    Var n,i,s,bitcuoi,Mask:byte;

    Begin

     {Đổi ký tự sang số}

      n:=ORD(c);

     {s: kết quả đảo bit, Mask: mặt nạ dùng để bật bit thứ i}

      s:=0;

      Mask:=128;

      For i:=1 To 8 Do {duyệt qua 8 bit của n}

       Begin

         {Lấy bit cuối cùng của n: bit cực phải}

         bitcuoi:=n AND 1;

         n:=n shr 1; {loại bỏ bit cuối cùng: n:=n DIV 2}

         {Bật bit thứ i lên: từ trái sang phải}

         if bitcuoi=1 then s:=s OR Mask;

         Mask:=Mask shr 1; { Mask:= Mask DIV 2}

       End;

      DaoBit:=CHR(s);

    End;

    Function MaHoa(st:string):string;

    Var i:Byte;

    Begin

     {Đảo bit từng ký tự trong xâu st}

      For i:=1 To Length(st) Do st[i]:=DaoBit(st[i]);

      Mahoa:=st;

    End;

    Begin

     Write('Nhap xau: '); Readln(st);

     st:=MaHoa(st);

     Writeln('Xau sau khi ma hoa: ',st);

     Readln;

     st:=MaHoa(st);

     Writeln('Xau sau khi giai ma: ',st);

     Readln;

    End.

      bởi Bánh Mì 30/11/2021
    Like (0) Báo cáo sai phạm

Nếu bạn hỏi, bạn chỉ thu về một câu trả lời.
Nhưng khi bạn suy nghĩ trả lời, bạn sẽ thu về gấp bội!

Lưu ý: Các trường hợp cố tình spam câu trả lời hoặc bị báo xấu trên 5 lần sẽ bị khóa tài khoản

Gửi câu trả lời Hủy
 
NONE

Các câu hỏi mới

AANETWORK
 

 

YOMEDIA
ATNETWORK
ON