|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.11.2011, 23:23 | #11 |
Новичок
Джуниор
Регистрация: 04.11.2011
Сообщений: 2
|
На скорую руку написал программу к следующему упражнению. С кириллицей заморачиваться не стал.
1.14. Напишите программу для вывода гистограммы частот, с которыми встречаются во входном потоке различные символы. Код:
Код:
|
23.12.2011, 07:03 | #12 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,327
|
SlivTime, 1.13, 1.14 - отличные решения. На каком упражнении сейчас?
|
08.03.2012, 12:40 | #13 | |
Регистрация: 08.03.2012
Сообщений: 4
|
Цитата:
Код:
Код:
|
|
08.03.2012, 18:43 | #14 | ||
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
Цитата:
Цитата:
Работать некорректно будет сразу, достаточно пробелу быть первым символом. Ну, и, когда количество пробелов идущих подряд превысит лимит для int. |
||
09.03.2012, 01:29 | #15 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,327
|
Вы вовремя тему подняли, так как я сейчас перечитываю книгу в третий раз, но уже на английском. На всякий случай прикрепил книгу к данному сообщению. Это HTML книга. Удобно искать нужные параграфы, а главное быстро. Пока прочитал 1 главу. Упражнения делал далеко не все.
Самый первый вариант решения упражнения 1-9 (ссылка, это код из самого первого моего сообщения) содержит ошибку в алгоритме. После запуска программы я ввёл: Код:
Код:
Не учитывал, что число пробелов может быть единица. Я ещё, тогда задание неправильно понял (наверное). Программа должна считывать входной поток (состоящий из строк), а не одну строку. То есть я ввожу: Код:
Получаю: Код:
Пример. Ввожу: Код:
Получаю: Код:
По рекомендации |{ot'a из второго сообщения данной темы, имеем: Код:
В виде (авторов будем указывать, совместное выполнение или одиночное): Промежуточный итог: Упражнение 1-9. --> http://codepad.org/KOOSg5Y7 Упражнение 1-10. --> Упражнение 1-11. --> P.S. По мере того, как у вас будет появляться код или наработки, то выкладывайте их сюда. Надо тему "добивать". P.S.S. Через пару дней я внимательнее посмотрю ваш код и пересмотрю предыдущие замечания наших коллег. И мы будем искать оптимальные решения, учитывающие, что мы "знаем" до данного упражнения. P.S.S.S. Книгу с решениями, если можно, приложите к сообщению. Будем подглядывать после разборов кода. Последний раз редактировалось 8Observer8; 09.03.2012 в 01:34. |
10.03.2012, 00:30 | #16 | |
Регистрация: 08.03.2012
Сообщений: 4
|
Цитата:
Так вот работает и с первым пробелом. Упражнение 1.9 : Код:
|
|
10.03.2012, 01:09 | #17 |
Регистрация: 08.03.2012
Сообщений: 4
|
Ссылка с книгой ответов Тондо и Гимпела в разделе с литературой
Последний раз редактировалось pu6ka; 10.03.2012 в 01:27. Причина: уточнение |
17.03.2012, 19:47 | #18 |
Новичок
Джуниор
Регистрация: 17.03.2012
Сообщений: 2
|
Добрый вечер, уважаемые
Тоже читаю Кернигана и Ричи и выполняю упражнения. Возник вопрос по упражнению 1.9, запуталась немножко в ветвлениях, гугл отправил к вам, почитала эту ветку и пришла к выводу, что я похоже несколько иначе понимаю задание. Моё видение вопроса: Я ввожу: 123 456 пробел, пробел абв где 231 пробел жзи 123 в задании говорится "..СТРОКИ, состоящей из одного или нескольких пробелов", поэтому на мой взгляд программа должна преобразовать это в: 123 456 абв где 231 жзи 123 Поправьте меня, пожалуйста, если я не права и только усложняю себе задачу)) потому что я тут пытаюсь еще кроме пробелов отслеживать \n и убирать лишние переходы на новую строку, если она состоит только из пробелов %) Последний раз редактировалось shtaler; 17.03.2012 в 19:55. |
18.03.2012, 23:32 | #19 | |
Регистрация: 08.03.2012
Сообщений: 4
|
Цитата:
Уже самому интересно стало. Поднял оригинальное описание (вместе с решением можно посмотреть здесь:http://clc-wiki.net/wiki/K%26R2_solu...r_1:Exercise_9): "Write a program to copy its input to its output, replacing each string of one or more blanks by a single blank." После запятой "заменяя каждый string из одного или более пробелов на одиночный пробел". На translate.ru первое значение слова string переводится как последовательность. Ну и решение задачи показывает, что все-таки речь идет о замене подряд стоящих пробелов. |
|
19.03.2012, 16:18 | #20 |
Новичок
Джуниор
Регистрация: 17.03.2012
Сообщений: 2
|
Мммм, понятно, спасибо большое за ответ!
Я просто упёрлась в "..один или более..". Подумала, что смысла заменять один пробел на один нет)) Я бы написала "два или более" тогда))) А возможно решить задачу, которую я ставлю, но обладая только знаниями, которые мы приобрели до задания 1.9? Ну так, ради интереса)) getchar () я так понимаю обрабатывает только одну строку ведь? Алгоритм я придумала, вполне себе работоспособный имхо, но при запуске программы обработка введенных данных начинается по нажатию Enter а не ctrl+z + Enter, то есть ввести многострочный текст у меня не выходит Не знаю понятно ли я изъясняюсь и может сама чего-то недопонимаю, но не кидайте тапками, пожалуйста, мне очень хочется разобраться, правда)) |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Упражнения c# | veter48 | Помощь студентам | 0 | 12.07.2011 18:53 |
[Си] Упражнения | Fobo5 | Помощь студентам | 1 | 02.02.2011 21:22 |
(С) Простое упражнение из Кернигана, Ричи. Пробелы | Матвейка | Помощь студентам | 1 | 07.06.2009 12:37 |
Упражнения делфи | MAKEDON | Свободное общение | 1 | 26.08.2008 02:31 |