![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Аброр |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 11.5.2006 Репутация: нет Всего: нет |
Помогите решить задачу пожалуйста
Задан некоторый текст, заканчивающийся точкой. Текст состоит из произвольного количества строк. Каждая строка заканчивается “;”. Слова в тексте разделены хотя бы одним пробелом. Подсчитать с помощью функции количество одинаковых букв в тексте и вывести результат обработки в виде: <буква> . < количество >. <номер строки текста>. |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Самое простое - завести массив размером 256 (чтобы не напрягаться). Читаешь файл, инкрементируешь соответствующий элемент для каждого символа. Выводишь.
Если тебе нужна именно программная реализация - обращайся в центр помощи. Добавлено @ 08:30 Насчет номера строки не очень понятно: одинаковые буквы могут встретиться в разных строках. Так что задача требует уточнения. -------------------- ... |
|||
|
||||
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
я бы не думая сделал так, экспромт типо:
|
|||
|
||||
Droll |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 10.11.2004 Репутация: нет Всего: 3 |
Решил тоже своим вариантом поделиться (закоментировал почти все строчки
![]()
Это сообщение отредактировал(а) Droll - 22.7.2006, 12:09 |
|||
|
||||
Rockie |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
задание действительно не понятно. если нужно для каждого символа запоминать строки в которых он упоминается, то тут imho следует использовать динамическое программирование. то о чем говорила Earnest выглядит примерно так:
-------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
|||
|
||||
Oleg_Ci |
|
||||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 3 Всего: 30 |
Подсчитывает количество букв и строки в которых они находятся.
Кстати, подсчитывать надо только буквы алфавита, а не все символы подряд, я так понял. Это сообщение отредактировал(а) Олег4 - 22.7.2006, 13:11 |
||||
|
|||||
Oleg_Ci |
|
|||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 3 Всего: 30 |
Droll, твоя программа подсчитывает количество повторяющихся символов в каждой строке отдельно, а у меня подсчитывает сколько вообще в файле(тексте) повторяющихся символов(букв алфавита), и выводит номера строк в которых они встречились.
И как по правильному надо ? ![]() Помойму правильно - это как я сделал. ![]() Хотя моя программка долека от совершенства. Rockie что ты обьясняеш, то и сделал Droll, хотя программка твоя подсчитывает количество символов в файле, а не в страчках, это как я пытался сделать.
Это сообщение отредактировал(а) Олег4 - 22.7.2006, 14:40 |
|||
|
||||
Rockie |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
а что я объяснял? ну да, пример этого я и приводил на случай старого компилятора - поэкранный вывод, чтобы строчки не убегали ввысь ![]() аа -------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
|||
|
||||
Oleg_Ci |
|
||||||||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 3 Всего: 30 |
![]()
|
||||||||
|
|||||||||
slava72 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 23.6.2006 Репутация: 1 Всего: 1 |
мдя... оч граблевидный код ![]() letters[(unsigned char)(temp)]++; имхо надежнее |
||||
|
|||||
Rockie |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
а там int скорее для очистки совести. там вообще не нужно явного приведения.
и все.. -------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |