Подсчитайте, сколько каждая буква встречается в тексте. Выдать на экран букву, кол-во и процент содержания этой буквы. пробелы считать не надо.
Описание входных данных:
Входные данные [текст] вводится с клавиатуры.
Описание выходных данных:
В качестве выходных данных необходимо вывести на экран букву алфавита и процент содержания [сколько раз буква встречается в тексте]. Результат округлить до сотых. Если какой-то буквы нет в тексте, её выводить не надо.
Технических ограничений на время выполнения программы, также как и по объёму занимаемой памяти при исполнении программы не предусмотрено. Нельзя использовать массив. Буквы можно выводить не по алфавиту.
На входе:
Мама мыла раму
На выходе:
А - 4 - 33,33%
Л - 1 - 8,33%
М - 4 - 33,33%
Р - 1 - 8,33%
У - 1 - 8,33%
Ы - 1 - 8,33%
Естественные науки
Информатика. Написать программы на любом языке программирования для решения задач, предоставленных ниже
В Паскале можно завести массив с буквенными индексами от А до Я.
var
kolvo: array['А'..'Я'] of integer;
s: string;
c: char;
i, vsego: integer;
Будем циклом перебирать буквы строки s:
ReadLn(s);
for i:=1 to Length(s) do
begin
c:=zaglavnaya(s[i]);
if c in ['А'..'Я'] then
begin
kolvo[c] := kolvo[c] + 1;
vsego := vsego + 1;
end;
end;
После этого можно для каждого ненулевого kolvo[c] вывести процент этой буквы из общего числа букв vsego. Для числа отведем 5 знакомест, из которых два знака выделим под дробную часть:
for c:='А' to 'Я' do
if kolvo[c] > 0 then
writeln((kolvo[c] / vsego):5:2);
Также тебе понадобится реализовать функцию zaglavnaya, которая примет параметр char и превратит маленькую (строчную) русскую букву в большую (заглавную). Это нужно для того, чтобы считать заглавную и строчную буквы одним общим счетчиком.
Умеешь писать на Паскале?
var
kolvo: array['А'..'Я'] of integer;
s: string;
c: char;
i, vsego: integer;
Будем циклом перебирать буквы строки s:
ReadLn(s);
for i:=1 to Length(s) do
begin
c:=zaglavnaya(s[i]);
if c in ['А'..'Я'] then
begin
kolvo[c] := kolvo[c] + 1;
vsego := vsego + 1;
end;
end;
После этого можно для каждого ненулевого kolvo[c] вывести процент этой буквы из общего числа букв vsego. Для числа отведем 5 знакомест, из которых два знака выделим под дробную часть:
for c:='А' to 'Я' do
if kolvo[c] > 0 then
writeln((kolvo[c] / vsego):5:2);
Также тебе понадобится реализовать функцию zaglavnaya, которая примет параметр char и превратит маленькую (строчную) русскую букву в большую (заглавную). Это нужно для того, чтобы считать заглавную и строчную буквы одним общим счетчиком.
Умеешь писать на Паскале?
Оксана Краева
Там нужно без массива. А так я параллельно всему, разбираюсь с ним
Да не нужны учителю программы, зачем ты их "ищешь" в Интернете! Ему нужно ТВОЕ умение. Твое - а не наше. Поэтому - пиши программы САМ, иначе от задания не будет никакой пользы.
Оксана Краева
1. Мы это пока не проходили и я, опираясь на эту задачу, буду решать остальные
В Питоне примерно так (более подробный код писать нет времени и желания):
a = input()
b = len(a)
print(", ".join("%s - %s - %s" % (i, a.count(i), "%.2f" % (a.count(i) * 100 / b)) for i in sorted(set(a))))
Но в этом коде любой символ считается и пробел (ы) тоже
a = input()
b = len(a)
print(", ".join("%s - %s - %s" % (i, a.count(i), "%.2f" % (a.count(i) * 100 / b)) for i in sorted(set(a))))
Но в этом коде любой символ считается и пробел (ы) тоже
Похожие вопросы
- Решение задачи по ТОЭ "Операторным методом расчёта переходных процессов) ЗАДАЧА РЕШЕНА! ТРЕБУЕТСЯ ПОЯСНЕНИЕ!
- помогите понять как компьютер научили распознавать языки программирования
- Вопрос про решение задач по математике
- Проверьте решение задачи
- Кто хорошо знает физику, помогите с решением задач.
- Есть ли "программный" метод решения задач по высшей математике?
- Выбор языка программирования для создания ПО к прибору.
- На каком языке программирования написан ассемблер?
- Объясните, в чём принцип решения задач по биологии вроде этой? желательно простым языком.
- Помогите с решением задачи:)первая....ну а если не очень лень то посмотрите и вторую)