OPTADS360
AANETWORK
AMBIENT
YOMEDIA
Banner-Video
IN_IMAGE

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.

  bởi Huong Giang 29/11/2021
ADSENSE/lession_isads=0
QUẢNG CÁO
 

Câu 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
 
 

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

NONE
OFF