68 / 41 / 14
Регистрация: 24.02.2013
Сообщений: 250
|
||||||||||||||||
1 | ||||||||||||||||
Создать метод для класса, который бы вводил через консоль строку19.03.2014, 16:33. Показов 1155. Ответов 11
Метки нет Все метки)
(
Здравствуйте!
В задании мне нужно создать метод для класса, который бы вводил через консоль строку, а второй метод-выводил её, но только чтобы выводил все слова в обратном порядке. Как бы-задание простое... Вот только здесь у меня возникла проблемка... Я вывожу слова в обратном порядке таким образом, чтобы была проверка на наличие пробела, либо дошли ли мы до начала строки и в тоже время, циклическая переменная равна ли нулю, или нет. Проблема заключается в том, что когда я ранее вводил просто 2 слова(Hello World!), мне выводило весь массив символов(не строку, даже не смотря на ограничения(ставил ограничения до тех пор, пока не был обнаружен пробел, либо не дошли по индексу до края строки):
Подскажите пожалуйста-где ошибка? Вот код программы: Кликните здесь для просмотра всего текста
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
|
|
19.03.2014, 16:33 | |
Ответы с готовыми решениями:
11
У класса Car создать метод GetModel, который возвращает строку "Unknown car model"
Как вызвать определенный метод переданного класса через метод другого класса?
|
324 / 307 / 59
Регистрация: 06.03.2013
Сообщений: 869
|
||||||
19.03.2014, 16:43 | 2 | |||||
0
|
68 / 41 / 14
Регистрация: 24.02.2013
Сообщений: 250
|
|
19.03.2014, 16:47 [ТС] | 3 |
lpvoid, да, работает, вот только есть одно но:
Теперь, из 2-х слов отображаются 3: Последнее слово, и вся строка(если брать в пример Hello World!): World! Hello World! - вот, что получается при использовании этого кода.
0
|
Комп_Оратор)
![]() |
||||||
19.03.2014, 18:09 | 4 | |||||
0
|
16462 / 8962 / 2198
Регистрация: 30.01.2014
Сообщений: 15,557
|
||||||
19.03.2014, 18:09 | 5 | |||||
![]() Решение
Оператор запятая? Вообще-то первое условие будет всегда игнорироваться. Может быть тут лучше подойдет И?
Как-то так:
0
|
68 / 41 / 14
Регистрация: 24.02.2013
Сообщений: 250
|
||||||
19.03.2014, 18:12 [ТС] | 6 | |||||
DrOffset, большое спасибо! Программа заработала нормально...
Вот только не пойму-почему условие ИЛИ не сработало? Ведь-при условии ИЛИ должно проверятся 2 условия, и цикл должен прекращаться при выполнении какого либо из них... Во всяком случае-вот весь код: Кликните здесь для просмотра всего текста
P.S. И да-IGPIGP, мне нужен был код именно на C, а не на C++...
0
|
16462 / 8962 / 2198
Регистрация: 30.01.2014
Сообщений: 15,557
|
|
19.03.2014, 18:23 | 7 |
Потому что оно тут не нужно
![]() ![]() Добавлено через 1 минуту Jack Wade, Убери ради бога strlen из условия. Это же жутко ![]() Добавлено через 7 минут Если первое условие в ИЛИ - истина, второе не проверяется. Или первое условие в И - ложь, второе так же не проверяется. Это всегда так для встроенных типов.
0
|
Комп_Оратор)
![]() |
|
19.03.2014, 18:35 | 8 |
0
|
68 / 41 / 14
Регистрация: 24.02.2013
Сообщений: 250
|
|||||||||||||||||||||
19.03.2014, 18:38 [ТС] | 9 | ||||||||||||||||||||
DrOffset, немного не понял, если честно...
Ну, вот допустим, у меня 2 условия завершения в цикле. При использовании ИЛИ, 1 условие если true, второе не проверяется, однако, если 1 условие false, то не идёт проверки 2 условия что ли? По моему-это должно быть как раз таки для И, т.к. И требует true для двух условий(если проверять не в цикле, а отдельно, для примера, сравнивая 2 переменные int типа): Кликните здесь для просмотра всего текста
Если же сделать так: Кликните здесь для просмотра всего текста
Выполнится printf уже при 1-й проверке(т.к. (x == 5) = true). Так логически, цикл for идёт до тех пор, пока не встретил false:
Или, может быть, укажете, где я не прав...
0
|
16462 / 8962 / 2198
Регистрация: 30.01.2014
Сообщений: 15,557
|
|
19.03.2014, 18:47 | 10 |
Наоборот, если первое условие - false, то выполняется проверка второго условия. Если и оно false, то результат выражения тоже false.
Ну вот смотри. На пальцах: Я тебя спрашиваю, Яблоко или Апельсин? Ты говоришь - Яблоко. Апельсин уже не нужен. Смысл его давать? Мы выполнили условие. Другое дело, когда я спрашиваю Яблоки и Апельсин? Ты говоришь - Апельсин, но если Яблока нет, то значит я не могу их дать вместе, поэтому и Апельсин давать нет смысла.
1
|
68 / 41 / 14
Регистрация: 24.02.2013
Сообщений: 250
|
|
19.03.2014, 18:49 [ТС] | 11 |
DrOffset, понял!
Большое спасибо за пояснение!
0
|
16462 / 8962 / 2198
Регистрация: 30.01.2014
Сообщений: 15,557
|
||||||
19.03.2014, 19:30 | 12 | |||||
Jack Wade, пожалуйста
![]()
В первом варианте первое условие истинно, вычислять второе нет смысла, т.к. мы уже удовлетворили условию ИЛИ (выбрали первый вариант). Во втором варианте первое условие ложно, вычислять второе также нет смысла, т.к. уже известно, что мы не удовлетворяем условию И. Все это можно использовать для оптимизации сложных выражений. Первым условием ставя более легковесную проверку.
0
|
19.03.2014, 19:30 | |
Помогаю со студенческими работами здесь
12
Создать метод для считывания строк из TextBox (патерн декоратор) для класса Stream Создать конструктор класса и метод для вычисления Не получается создать метод для вывода вектора из класса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |