Nhập sâu S đếm số lần lượt số lần xuất hiện mỗi kí tự trong sâu S ( không phân biệt chữ,số) vd : S = MADAM M : 2 A : 2 D : 1 Giải bằng ngôn ngữ pascal không phải c++ ạ !!! Cần gấp ạ !

2 câu trả lời

uses crt;

var s:string[30];

ch,x:char;

i:byte;

dem:array['A'..'Z']of byte;

begin

clrscr;

write('Nhap vao sau ki tu S=');

readln(s);

for ch:='A' to 'Z' do dem[ch]:=0;

for i:=1 to length(s) do

begin

x:=upcase(s[i]);

if (x>='A') and (x<='Z')

then

dem[x]:=dem[x]+1;

end;

for ch:='A' to 'Z' do

if dem[ch]<>0 then

writeln('So luong ki tu ',ch,'la ',dem[ch]);

readln;

end.

Program BTT;
Uses crt;
Var St: String;
    i: longint;
    d: array['A'..'Z'] of longint;
    c: char;
Begin
        Clrscr;
        Write('Nhap St: '); Readln(St);

        For i:=1 to length(St) do
                St[i]:=UPCASE(St[i]);

        For c:='A' to 'Z' do d[c]:=0;

        For i:=1 to length(St) do
                If St[i] in ['A'..'Z'] then
                        inc(d[St[i]]);
        For c:='A' to 'Z' do
                If d[c]>0 then
                Begin
                        Write(c,' : ',d[c]);
                        Writeln;
                End;
        Readln
End.

Câu hỏi trong lớp Xem thêm