nhập xâu kí tự bất kì a) đếm số lần xuất hiện của 1 kí tự nào đó trong câu b) liệt kê các kí tự có mặt trong xâu cùng số lần xuất hiện của các kí tự đó
2 câu trả lời
program Hello;
uses crt;
var s: string;
k: char;
i: integer;
a: array[32..126] of integer;
begin
write('Nhap xau: '); readln(s);
write('a/ Nhap ky tu: '); readln(k);
for i:= 1 to length(s) do
a[ord(s[i])]:= a[ord(s[i])] + 1;
writeln('a/ ', k, ' xuat hien: ', a[ord(k)]);
writeln('b/ ');
for i:= 36 to 126 do
if a[i] > 0 then writeln(chr(i), ' xuat hien: ', a[i], ' lan');
readln;
end.
uses crt;
var s : string;
i, d, d1, d2, d3 : byte; kt, j, l, m : char;
begin
clrscr; d := 0; d3 := 0;
write('Nhap xau : '); readln(s);
write('Nhap ki tu : '); readln(kt);
for i := 1 to length(s) do
if s[i] = kt then d := d + 1;
write('Ki tu ', kt ,' xuat hien ', d ,' lan');
for j in['a' .. 'z'] do begin d1 := 0;
for i := 1 to length(s) do begin
if s[i] = j then begin d1 := d1 + 1; d3 := d3 + 1; end;
end;
if d1 <> 0 then writeln('Ki tu ', j , ' xuat hien ', d1 ,' lan');
end;
for l in['A' .. 'Z'] do begin d1 := 0;
for i := 1 to length(s) do begin
if s[i] = l then begin d1 := d1 + 1; d3 := d3 + 1; end;
end;
if d1 <> 0 then writeln('Ki tu ', l , ' xuat hien ', d1 ,' lan');end;
for m in['0' .. '9'] do begin d1 := 0;
for i := 1 to length(s) do begin
if s[i] = m then begin d1 := d1 + 1; d3 := d3 + 1; end;
end; if d1 <> 0 then writeln('Ki tu ', m , ' xuat hien ', d1 ,' lan');
end; d2 := 0;
for i := 1 to length(s) do if s[i] = ' ' then d2 := d2 + 1;
if length(s) <> d3 + d2 then
writeln('Cac ki tu dac biet xuat hien ', length(s) - d3 - d2 ,' lan');
readln
end.