0 / 0 / 0
Регистрация: 08.10.2015
Сообщений: 16
|
||||||
1 | ||||||
Оптимизация программы06.06.2016, 21:58. Показов 1494. Ответов 15
Метки нет (Все метки)
Здравствуйте. есть задача удалить все символы, кроме пробелов, не являющиеся буквами из какого-нибудь предложения типа и оставить хотя бы 1 пробел в последовательности букв. И есть код:
Попробовал сделать сам, но получилась каша-кашенная. Или может подскажете/подтолкнете к правильному решению. Заранее спасибо.
0
|
06.06.2016, 21:58 | |
Ответы с готовыми решениями:
15
Типы оптимизация: черная оптимизация, серая оптимизация и белая оптимизация Оптимизация программы Оптимизация программы Оптимизация программы |
27 / 27 / 24
Регистрация: 23.04.2011
Сообщений: 64
|
||||||
06.06.2016, 23:36 | 2 | |||||
Вот такой вариант:
0
|
2398 / 2223 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
||||||
06.06.2016, 23:50 | 3 | |||||
Menma91, Igor100,
для таких целей существуют регулярные выражения. Ни к чему изобретать велосипед
1
|
0 / 0 / 0
Регистрация: 08.10.2015
Сообщений: 16
|
|
07.06.2016, 07:41 [ТС] | 4 |
Я согласен, но есть обязательные требования к задаче, которые "кровь из носа" нужно соблюсти ))
0
|
2398 / 2223 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
07.06.2016, 08:56 | 5 |
Menma91, какие требования?
1
|
0 / 0 / 0
Регистрация: 08.10.2015
Сообщений: 16
|
|
07.06.2016, 13:44 [ТС] | 6 |
Условие описано в первом сообщении снизу под кодом, нужно создать и обязательно использовать в программе 2 класса Word и Sentense, ну и использовать по возможности инкопсуляцию, наследование и полиморфизм, как-то так))
0
|
2677 / 1995 / 496
Регистрация: 17.02.2014
Сообщений: 9,357
|
||||||||||||||||
07.06.2016, 13:49 | 7 | |||||||||||||||
А так?
1
|
2398 / 2223 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
07.06.2016, 13:49 | 8 |
Menma91, мое решени не противоречит этим требованиям. Напишите эти два класса и используйте там эту строку, а не тот костыль который вы написали. В вашем решении тоже этих классов нет. Вы в названии темы просили оптимизацию. Вот оптимизация. Надо точнее выражать свои мысли.
0
|
0 / 0 / 0
Регистрация: 08.10.2015
Сообщений: 16
|
|
07.06.2016, 14:40 [ТС] | 9 |
Прошу прощение если ввел в заблуждение, неграмотно вопрос поставил))
Добавлено через 1 минуту классно, но было бы круче без lista, но все равно огромное спасибо!!
0
|
2677 / 1995 / 496
Регистрация: 17.02.2014
Сообщений: 9,357
|
|
07.06.2016, 14:48 | 10 |
0
|
323 / 310 / 206
Регистрация: 14.09.2015
Сообщений: 827
|
|||||||||||
07.06.2016, 16:14 | 11 | ||||||||||
Сообщение было отмечено Menma91 как решение
Решение
Menma91,
(инкапсуляция через "а" пишется) Ну если "как-то так" то вот такой вариант возможен:
1
|
0 / 0 / 0
Регистрация: 08.10.2015
Сообщений: 16
|
|
07.06.2016, 21:16 [ТС] | 12 |
Большое спасибо, только не могли бы вы пояснить, что происходить в данном коде? вот 2 класса, 1 наследуется от другого, есть поля с модификатором доступа private, геттеры/сеттеры для получения доступа к полям другого класса...а что происходит на 17 строке класса Sentence? можете пояснить код? заранее признателен!)
0
|
323 / 310 / 206
Регистрация: 14.09.2015
Сообщений: 827
|
|
07.06.2016, 21:31 | 13 |
В классе Word, в принципе, использование геттеров/сеттеров избыточно, можно было бы просто манипулировать private переменными, так что там их применение почти ни где не оправдано и сделано больше для демонстрации. Переменная inputStr инициируется в своём сеттере: в данном примере это готовая строка, но может быть любой другой вариант. В классе Sentence мы объявляем новую переменную inputStr и для неё (строка 17) перегружаем сеттер (то есть для неё возможен другой вариант ввода: в данном случае это несколько "предложений" разделённых точкой и пробелом) и геттер (строка 21).
А вообще, конечно же, это всё не более чем демонстрационная, хоть и работающая, модель.
0
|
0 / 0 / 0
Регистрация: 08.10.2015
Сообщений: 16
|
|
08.06.2016, 09:09 [ТС] | 14 |
Вопрос на засыпку, 2ая часть задания - "оставить хотя бы 1 пробел в последовательности букв", я так понимаю - нужно в обработанной строке, если есть минимум 2 и более подряд идущих букв, между ними вставить "минимум один пробел"?
0
|
323 / 310 / 206
Регистрация: 14.09.2015
Сообщений: 827
|
||||||
08.06.2016, 09:38 | 15 | |||||
Menma91, проверять некогда, попробуйте подправить строки с регуляркой примерно так:
P.S.: вообще всё задание какое-то странное и истолковать его можно и так и этак. Удачи...
0
|
0 / 0 / 0
Регистрация: 08.10.2015
Сообщений: 16
|
|
08.06.2016, 23:21 [ТС] | 16 |
Честно говоря не особо понял, ведь суть 1-ой задачи сводилась к удалению символов, кроме букв и пробелов, а зачем разделенные ; предложения было создавать - не понимаю...
0
|
08.06.2016, 23:21 | |
08.06.2016, 23:21 | |
Помогаю со студенческими работами здесь
16
Оптимизация программы Оптимизация программы Оптимизация программы на С++ Оптимизация программы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |