Вот ещё вариант решения 2 задачи. Не так красиво, конечно, но, может быть, проще для понимания. var s:string; k:array['A'..'Z'] of integer; max,i:integer; c,m:char; begin writeln('Введите строку:');readln(s); for c:='A' to 'Z' do k[c]:=0; for i:=1 to pos('.',s)-1 do case s[i] of 'a'..'z','A'..'Z': k[UpperCase(s[i])]:=k[UpperCase(s[i])]+1; end; max:=0; for c:='A' to 'Z' do if k[c]>max then begin max:=k[c]; m:=c; end; writeln(m,' ',k[m]); end.
Пример: Введите строку: It is not a simple task. Yes! I 3
0 votes Thanks 0
petyaGavrikov
Да, просто Sort проще. Но, чаще всего, чтобы писать короткие "простые" программы, нужно знать много-много больше, чем при написании динных.
Answers & Comments
Verified answer
Вот ещё вариант решения 2 задачи. Не так красиво, конечно, но, может быть, проще для понимания.var s:string;
k:array['A'..'Z'] of integer;
max,i:integer; c,m:char;
begin
writeln('Введите строку:');readln(s);
for c:='A' to 'Z' do k[c]:=0;
for i:=1 to pos('.',s)-1 do
case s[i] of
'a'..'z','A'..'Z': k[UpperCase(s[i])]:=k[UpperCase(s[i])]+1;
end;
max:=0;
for c:='A' to 'Z' do
if k[c]>max then begin max:=k[c]; m:=c; end;
writeln(m,' ',k[m]);
end.
Пример:
Введите строку:
It is not a simple task. Yes!
I 3