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.