![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 03.07.2011
Сообщений: 92
|
![]()
Доброго всем времени суток!!!
Очень нужна помощь с программой. Задание: распечатать слова текста, отсортированные в порядке убывания частоты их встречаемости (рядом с каждым словом выводить значение счетчика частоты его вхождения в текст). Программу писала для текста из 3х слов, в каждом по 3 буквы. Использовала структуры. Меня 2 месяца не будет, прогу надо сдать в начале сентября!!! Буду бесконечно благодарна. Код:
|
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 01.11.2010
Сообщений: 75
|
![]()
а в чем, собственно, проблема?)
|
![]() |
![]() |
![]() |
#3 | ||
Пользователь
Регистрация: 26.06.2011
Сообщений: 85
|
![]()
Вот программа, при файле содержащем
Цитата:
Цитата:
![]() Производительность (как я думаю) будет ужасной, но оно вполне работает. С удовольствием послушаю, как её можно оптимизировать. Код:
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. (c) Martin Golding
|
||
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
![]()
No_Comments
Очень нужна помощь с программой. Задание: распечатать слова текста, отсортированные в порядке убывания частоты их встречаемости (рядом с каждым словом выводить значение счетчика частоты его вхождения в текст). Программу писала для текста из 3х слов, в каждом по 3 буквы. Использовала структуры. Меня 2 месяца не будет, прогу надо сдать в начале сентября!!! Хе-хе. стратегия, надо признать, весьма недурственная. Пока ты будешь прохлаждаться в отпуске, ботаны тебе решают задачки ((((: Ну да ладно, ботаны сегодня добрые, вот т нечего делать набросалось... Код:
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
![]() |
![]() |
![]() |
#5 |
Software Developer
Участник клуба
Регистрация: 01.03.2011
Сообщений: 1,098
|
![]() Код:
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв. Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062 |
![]() |
![]() |
![]() |
#6 | |
Пользователь
Регистрация: 26.06.2011
Сообщений: 85
|
![]() Цитата:
Я и не подозревал, что Код:
Код:
![]()
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. (c) Martin Golding
|
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
![]()
Nedward
с использованием современных техник C++ это можно упростить даже до: typedef std::istream_iterator<std::string> I; std::for_each(I(text), I(), ++ref(results)[arg1]);
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 26.06.2011
Сообщений: 85
|
![]()
Не могу утверждать наверняка (не проводил тесты), но мне кажется что нашел более быстрое решение
![]() Код:
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. (c) Martin Golding
|
![]() |
![]() |
![]() |
#9 | |
Software Developer
Участник клуба
Регистрация: 01.03.2011
Сообщений: 1,098
|
![]() Цитата:
Время примерно одинаковое. В диапазоне от 1838 до 1988 и от 1843 до 1994 микросекунд соответственно (для файла размером в 1000 строк). Так что оба варианта вполне взаимозаменяемы -)
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв. Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062 |
|
![]() |
![]() |
![]() |
#10 | |||
Пользователь
Регистрация: 26.06.2011
Сообщений: 85
|
![]() Цитата:
![]() По результатам исследований выяснилось, что: 1) Я не имею представления, как проводить тесты достаточно быстрых алгоритмов (проверял функцией clock(), но до сих пор не знаю, что за значения она возвращает). Как Вы замеряли время в микросекундах? 2) Один из самых больших txt файлов на моем компьютере - роман барона Олшеври - ВАМПИРЫ. 3) Самое узкое место этих программ - вывод результатов ![]() 4) У барона большой словарный запас. 5) Новый алгоритм выигрывает, но он выигрывает копейки, результаты 10 измерений (если не учитывать время вывода на экран, конечно): Цитата:
Цитата:
Это (если не ошибаюсь) 4,5% прирост скорости ![]() Вообще странные результаты, я ожидал прироста скорости раза в 2 минимум. Ведь в первом варианте для каждого элемента ищется свое место, в то время как во втором сортируется уже готовый массив. Приму к сведению - использовать массив map для сортировки можно даже в критичных по скорости выполнения программах - на результат сильно не повлияет. P.S. только сейчас пришло в голову - нужно было измерять время выполнения только измененного куска кода, а не всего алгоритма. Наверняка большую часть времени занимает чтение данных из файла. Позже, наверное, попробую - интересная тема получилась ![]()
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. (c) Martin Golding
|
|||
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с текстом | dimon_home | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 05.06.2009 13:17 |
работа с текстом... | Poll | Помощь студентам | 5 | 23.01.2009 11:43 |
работа с текстом в си++ | Sjava | Помощь студентам | 3 | 21.12.2008 11:54 |
Работа с текстом | vinimixer | Общие вопросы Delphi | 0 | 07.11.2008 21:19 |
Работа с текстом.[C] | DropYourWeapon | Общие вопросы C/C++ | 3 | 15.10.2008 21:55 |