Viết CT nén xâu kí tự s được nhập từ bàn phím. VD: S=’AAABBCDDDD’=>’3A2BC4D’ làm ơn ạ

Viết CT nén xâu kí tự s được nhập từ bàn phím. VD: S=’AAABBCDDDD’=>’3A2BC4D’ làm ơn ạ

0 bình luận về “Viết CT nén xâu kí tự s được nhập từ bàn phím. VD: S=’AAABBCDDDD’=>’3A2BC4D’ làm ơn ạ”

  1. c:=1;dem:=1;//c là chỉ số chỉ ký tự

    for i:=2 to length(s) do 

      if s[i]=s[c] then inc(dem) else 

       begin

         write(dem,s[c]);//xuat ra dem va ky tu (3A)

          dem:=1;

          c:=i;

       end;

    Bình luận
  2. program oken;
    uses crt;
    var s:string;
        i,j,dem,k: longint;
        sl: array[1..1000000] of longint;
        a: array[1..1000000] of char;
    begin
        clrscr;
        write(‘Nhap xau: ‘); readln(s);
        k:=0;
        for i:=32 to 126 do
            begin
                dem:=0;
                for j:=1 to length(s) do
                    if chr(i)=s[j] then
                        dem:=dem+1;
                if dem<>0 then
                    begin
                        k:=k+1;
                        a[k]:=chr(i);
                        sl[k]:=dem;
                    end;
            end;
        for i:=1 to k do
            writeln(a[i],’: ‘,sl[i]);
        readln;
    end.

    Bình luận

Viết một bình luận