Предмет: Информатика,
автор: killmepleaseee
РЕБЯТКИ, ЭТО ОЧЕНЬ СРОЧНО!!!
На вход программы подаются произвольные алфавитно-цифровые символы. Ввод этих символов заканчивается точкой. Требуется написать программу, которая будет печатать последовательность строчных английских букв ('a' 'b'... 'z') из входной последовательности и частот их повторения. Печать должна происходить в алфавитном порядке. Например, пусть на вход подаются следующие символы:
fhb5kbfыshfm.
В этом случае программа должна вывести
b2
f3
h2
kl
ml
s1
Ответы
Автор ответа:
0
var s:string;
a:array['a'..'z'] of integer;
i:integer; c:char;
begin
writeln('Введите строку:');
readln(s);
for c:='a' to 'z' do a[c]:=0;
for i:=1 to length(s) do
if (s[i]>='a')and(s[i]<='z') then a[s[i]]:=a[s[i]]+1;
for c:='a' to 'z' do
if a[c]>0 then writeln(c,' ',a[c]);
end.
Программа:
Введите строку:
fhb5kbfыshfm.
b 2
f 3
h 2
k 1
m 1
s 1
a:array['a'..'z'] of integer;
i:integer; c:char;
begin
writeln('Введите строку:');
readln(s);
for c:='a' to 'z' do a[c]:=0;
for i:=1 to length(s) do
if (s[i]>='a')and(s[i]<='z') then a[s[i]]:=a[s[i]]+1;
for c:='a' to 'z' do
if a[c]>0 then writeln(c,' ',a[c]);
end.
Программа:
Введите строку:
fhb5kbfыshfm.
b 2
f 3
h 2
k 1
m 1
s 1
Автор ответа:
0
Я знаю, что длиннее, просто дело в том, что мне не знаком char. Не могу сообразить как сделать через string
Автор ответа:
0
char - это один символ, а string - это несколько символов, только и всего. char изучается раньше, чем string обычно.
Автор ответа:
0
Где-то да, а вот у нас нет. Через char такое лёгкое и быстрое решение, странно, что мы делаем не так.
Автор ответа:
0
И как же вы делаете?
Автор ответа:
0
Говорю же через string, мы char вообще никогда не использовали.
Похожие вопросы
Предмет: Информатика,
автор: zhenya210989
Предмет: Геометрия,
автор: bogdanai1234
Предмет: Алгебра,
автор: dias180607
Предмет: Математика,
автор: gulnara011
Предмет: Обществознание,
автор: rusnazarov198