Giải bài tập Pascal!

T

tmb12

Last edited by a moderator:
H

hthtb22

var
s:string;
i,j,n,dem:integer;
begin
write('Nhập xâu: ');readln(s);
n:=length(s);
dem:=0;
for i:=1 to n do
begin
for j:=1 to i-1 do if s=s[j] then dem:=dem+1;
if dem=0 then
begin
for j:=i to n do if s=s[j] then dem:=dem+1;
writeln('Ký tự ',s,' xuất hiện ',dem,' lần ');
end;
end;


var
s:string;
i,j,n,dem:integer;
begin
write('Nhập xâu: ');readln(s);
n:=length(s);
dem:=0;
for i:=1 to n do
begin
for j:=1 to i-1 do if s=s[j] then dem:=dem+1;
if dem=0 then
begin
for j:=i to n do if s=s[j] then dem:=dem+1;
writeln('Ký tự ',s,' xuất hiện ',dem,' lần ');
end;
end;
 
Last edited by a moderator:
M

mikelhpdatke

Thuật toán khá đơn giản, khởi tạo mảng
Mã:
A:Array['A'..'Z'] Of Integer;
Duyệt
Mã:
FillChar(A,SizeOf(A),0);
For i:=1 to length(s) do
 If s[i] in ['A'..'Z'] then inc(A[i]);

Việc còn lại chỉ là in mảng A và cùng với đó là chỉ số i.
P/s: Do mục đích là ôn thi cho mình và mọi người nên chỉ post thuật toán thôi, post code mà ko hiểu thuật thì code cũng = thừa
post chậm rồi :-S
 
Top Bottom