Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.06.2010, 21:13   #1
Tiny
Пользователь
 
Аватар для Tiny
 
Регистрация: 20.12.2009
Сообщений: 10
По умолчанию написать программу,которая будет определять,и выводить на экран английскую букву

На вход программы подаётся текст на английском языке,заканчивающийся точкой. Требуется написать программу,которая будет определять,и выводить на экран английскую букву,встречающуюся в этом тексте чаще всего,и количество там таких букв. Строчные и прописные буквы при этом считаются не различными. Если искомых букв несколько,то программа должна выводить на экран первую из них по алфавиту. Например,пусть файл содержит следующую запись: It is not f simple task.Yes!
чаще всего здесь встречаются буквы I,S,T (слово YES в подсчёте не учитывается,т.к.расположено после точки) Следоватльно, в данном случае программа должна вывести два символа, разделённых пробелом : I 3
Tiny вне форума Ответить с цитированием
Старый 25.06.2010, 10:31   #2
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

и че тут сложного? если на С++, то создаете ассоциативный массив(например map). Ключом будет символ, а значение кол-во повторений. Пробегаетесь по строке и добавляете в этот массив символ, соответственно при добавлении увеличиваете значение для него:
Код:
map[symbol]++;  // symbol - символ из входной строки
можно простой массив сделать, но тогда будет ограничен размер строки.
Если ничего не знаете, то вам в фриланс)

Последний раз редактировалось NiCola999; 25.06.2010 в 10:33.
NiCola999 вне форума Ответить с цитированием
Старый 25.06.2010, 11:54   #3
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,618
По умолчанию

можно и обычный массив использовать
при проходе по массивы вызывать arr[s[i]]++;
при этом arr[256]. потом пройтись по массиву arr[i] при i='a'..'z' и для каждого элемента искать сумму arr[i] + arr[i-'a'+'A'] искть наибольшее значение этой суммы
rrrFer вне форума Ответить с цитированием
Старый 25.06.2010, 23:23   #4
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

точно, тут же буквы...тогда необходимости в динамической памяти нет) Простой массив
NiCola999 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дано 2 слова. Написать программу, которая будет определять присутствует ли слово 1 в слове 2. Паскалька^^ Помощь студентам 5 19.10.2010 00:55
Напишите программу, которая будет выводить на экран фамилии и имена 3-х лучших участников многоборья. katyuha_e Паскаль, Turbo Pascal, PascalABC.NET 2 05.04.2010 21:22
программа, которая будет выводить на экран фамилии и имена трех лучших участников многоборья. katyuha_e Помощь студентам 2 04.04.2010 15:02
Программа которая будет определять, сколько всего треугольников в заданной фигуре, Княжна Татьяна Помощь студентам 0 20.12.2009 18:37
написать программу для интернет провайдеров, которая будет отслеживать соединение с пользователями. Rudi1989 Общие вопросы по Java, Java SE, Kotlin 6 01.04.2009 15:34