
Вопрос задан 15.02.2019 в 10:22.
Предмет Информатика.
Спрашивает Крывда Настя.
В последовательности символов выделить все русские буквы и определить наиболее часто встречающиеся
из них.

Ответы на вопрос

Отвечает Алисейко Полина.
// PascalABC.Net 3.0, сборка 1052
const
Rus=['А'..'Я'];
var
s:string;
i,k,t:integer;
c,c1,tc,sc:char;
f:array['А'..'а'] of byte; // 'а' - это для 'Ё'
ch:array['А'..'а'] of char;
begin
Write('Введите строку: '); Readln(s);
for c:='А' to 'а' do begin f[c]:=0; ch[c]:=c end;
k:=0;
for i:=1 to Length(s) do begin
c:=UpCase(s[i]);
if c in Rus then begin Inc(f[c]); Inc(k) end
else
if c='Ё' then begin Inc(f['а']); Inc(k) end;
end;
Writeln('Количество русских букв равно ',k);
{ сортировка массива со счетчиком количества букв }
for c1:='А' to Pred('а') do
for c:='А' to Pred('а') do
if f[c]<f[Succ(c)] then begin
t:=f[c]; tc:=ch[c]; sc:=Succ(c);
f[c]:=f[sc]; ch[c]:=ch[sc];
f[sc]:=t; ch[sc]:=tc
end;
Writeln('Частота встретившихся букв');
c:='А';
while (c<='а') and (f[c]>0) do begin
if ch[c]='а' then ch[c]:='Ё';
Writeln(ch[c],' - ',f[c]);
Inc(c)
end;
end.
Тестовое решение:
Введите строку: Когда я был парнишкой, носил я брюки клёш
Количество русских букв равно 33
Частота встретившихся букв
К - 4
И - 3
Л - 3
О - 3
А - 2
Б - 2
Н - 2
Р - 2
Ш - 2
Я - 2
Г - 1
Д - 1
Й - 1
П - 1
С - 1
Ы - 1
Ю - 1
Ё - 1
const
Rus=['А'..'Я'];
var
s:string;
i,k,t:integer;
c,c1,tc,sc:char;
f:array['А'..'а'] of byte; // 'а' - это для 'Ё'
ch:array['А'..'а'] of char;
begin
Write('Введите строку: '); Readln(s);
for c:='А' to 'а' do begin f[c]:=0; ch[c]:=c end;
k:=0;
for i:=1 to Length(s) do begin
c:=UpCase(s[i]);
if c in Rus then begin Inc(f[c]); Inc(k) end
else
if c='Ё' then begin Inc(f['а']); Inc(k) end;
end;
Writeln('Количество русских букв равно ',k);
{ сортировка массива со счетчиком количества букв }
for c1:='А' to Pred('а') do
for c:='А' to Pred('а') do
if f[c]<f[Succ(c)] then begin
t:=f[c]; tc:=ch[c]; sc:=Succ(c);
f[c]:=f[sc]; ch[c]:=ch[sc];
f[sc]:=t; ch[sc]:=tc
end;
Writeln('Частота встретившихся букв');
c:='А';
while (c<='а') and (f[c]>0) do begin
if ch[c]='а' then ch[c]:='Ё';
Writeln(ch[c],' - ',f[c]);
Inc(c)
end;
end.
Тестовое решение:
Введите строку: Когда я был парнишкой, носил я брюки клёш
Количество русских букв равно 33
Частота встретившихся букв
К - 4
И - 3
Л - 3
О - 3
А - 2
Б - 2
Н - 2
Р - 2
Ш - 2
Я - 2
Г - 1
Д - 1
Й - 1
П - 1
С - 1
Ы - 1
Ю - 1
Ё - 1



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Для выделения всех русских букв в последовательности символов, можно воспользоваться регулярным выражением, которое будет искать все символы кириллического алфавита. В Python, например, это можно сделать следующим образом:
import re
text = "Пример текста с русскими буквами" russian_letters = re.findall("[а-яА-Я]", text)
Этот код найдет все русские буквы в строке text и поместит их в список russian_letters.
Чтобы определить наиболее часто встречающиеся русские буквы, можно воспользоваться методом Counter из модуля collections. Примерно так:
from collections import Counter
frequent_russian_letters = Counter(russian_letters).most_common(5)
Этот код создаст словарь с подсчетом количества каждой русской буквы и выберет 5 наиболее часто встречающихся.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili