0 / 3 / 0
Регистрация: 28.06.2013
Сообщений: 359
|
|||||||||||
1 | |||||||||||
Как использовать данные из цикла вне его29.04.2014, 18:35. Показов 4111. Ответов 69
Метки нет (Все метки)
Уважаемые модераторы прошу удалит предыдущую тему.
Так как я изучаю программирование самостоятельно часто появляются вопросы на которых неоткуда получит ответ кроме как спросит на форуме. По этому решил создать тему и поставит все свои вопросы которые есть сейчас и появятся в будущем в этой теме. Буду очень благодарен если кто та из опытных программистов будет следит за темой. И так вопрос 1. Как использовать данные из первого цикла вне цикла. Пришлось обработать все на одном цикле при выводе получается полный хаос. код С++
Вопрос 2. Почему иногда переменное инициализированная перед циклом (for) не принимается в цикле. Пишет то переменная не инициализирована или не известна. Вопрос 3. Сегодня учил библиотечный тип bitset. Привлекло внимание следующее: Цитирую из книги: bitset<32> bitvec2(0xffff);" Вопрос 4. Сегодня изучал итераторы. Написал программу которую показал на 1 вопросе. При использование вектора такой код не верен из за того что инициализированная значение r относится типу int а сам вектор типу string. Но при использование итератора не выдало не каких ошибок. И выводит некие символы. Не тарабарщина а определенные символы: Если написать Hello! получится смайлик, карточные знаки, символ ноты ( со звуком ). Если написать текст по больше получится эти символы и еще множество символов. Это ошибка программы или так и должно быт? код C++
0
|
29.04.2014, 18:35 | |
Ответы с готовыми решениями:
69
Функция ввода: как мне получить in, чтобы затем использовать его вне функции? В каком месте использовать конструктор - вне цикла или в цикле? printf не выводи данные вне цикла. Область видимости. Не могу вызвать переменную вне цикла For, т.е. вывести в цикле могу, а вне цикла нет. Почему? |
0 / 3 / 0
Регистрация: 28.06.2013
Сообщений: 359
|
|
29.04.2014, 20:19 [ТС] | 22 |
Croessmah, понятно. Спасибо!
Добавлено через 2 минуты А как на счет вопроса на счет bitset?
0
|
43 / 43 / 21
Регистрация: 02.06.2013
Сообщений: 181
|
||||||
29.04.2014, 21:04 | 23 | |||||
0
|
0 / 3 / 0
Регистрация: 28.06.2013
Сообщений: 359
|
|
29.04.2014, 21:20 [ТС] | 24 |
Denis123456789, Я так понял использовать итератор?
Попробую оба способа. Я так понял alsav22 придложиль исправит ввод данных и не прервать цикл while принудительно и все будет норм. Вы предложили написать программу используя итератор. Попробую оба способа. Если я что та не так понял, прошу прощение. Добавлено через 2 минуты А как использовать вне цикла переменные, которые инициализированы в цикле. (вопрос 1)
0
|
43 / 43 / 21
Регистрация: 02.06.2013
Сообщений: 181
|
||||||
29.04.2014, 21:24 | 25 | |||||
Altair42, нет, я просто предположил почему программа не заходит в эту часть кода:
0
|
0 / 3 / 0
Регистрация: 28.06.2013
Сообщений: 359
|
|
29.04.2014, 21:28 [ТС] | 26 |
Denis123456789, тогда я не понял что означает *num?
0
|
43 / 43 / 21
Регистрация: 02.06.2013
Сообщений: 181
|
||||||
29.04.2014, 21:33 | 27 | |||||
опечатался, вот так имел ввиду
0
|
0 / 3 / 0
Регистрация: 28.06.2013
Сообщений: 359
|
|
29.04.2014, 21:40 [ТС] | 28 |
Error. Operand of "*" must be a pointer.
Добавлено через 5 минут Denis123456789, друг я что та не понял. Это же мой код без изменений Только 4-ю строку потащил немного в перед. В чем прикол ?
0
|
43 / 43 / 21
Регистрация: 02.06.2013
Сообщений: 181
|
||||||
29.04.2014, 21:47 | 29 | |||||
у меня
мы сначала считаем выражение num.size() % 2, а потом проверяем его на неравенство нулю.
0
|
0 / 3 / 0
Регистрация: 28.06.2013
Сообщений: 359
|
||||||
30.04.2014, 18:27 [ТС] | 30 | |||||
Denis123456789, я испаил скобки. пасибо!
Добавлено через 2 минуты alsav22, друг мой я добаил ваш код в мою программу. Резльтат не удовлетверительный. Все ровно е входит из цикла ели е ввести ложный символ. Вот код.
Как использовать данные из первого цикла вне цикла. Пришлось обработать все на одном цикле при выводе получается полный хаос. Код на первом посте.
0
|
15 / 15 / 8
Регистрация: 30.03.2014
Сообщений: 75
|
|
30.04.2014, 18:36 | 31 |
Чтобы понять, почему не работает цикл, разберитесь с библиотекой ввода-вывода.
Эти функции вам помогут: std::cin.rdstate() std::cin.clear() std::cin.ignore()
0
|
0 / 3 / 0
Регистрация: 28.06.2013
Сообщений: 359
|
|
30.04.2014, 19:23 [ТС] | 32 |
intern, спасибо за подсказку!
0
|
0 / 3 / 0
Регистрация: 28.06.2013
Сообщений: 359
|
|
03.05.2014, 08:45 [ТС] | 33 |
Придется повторит вопрос.
Как использовать данные которые инициализированы в цикле вне этого цикла? При обращение к переменным вне цикла система их просто не видит.
0
|
15 / 15 / 8
Регистрация: 30.03.2014
Сообщений: 75
|
|
03.05.2014, 08:57 | 34 |
Есть такое понятие - область видимости.
Перемененная, объявленная в цикле, доступна только в нем.
0
|
0 / 3 / 0
Регистрация: 28.06.2013
Сообщений: 359
|
|
03.05.2014, 09:47 [ТС] | 35 |
intern, и нет не какого способа использовать данные вне цикла? Какая то ссылка или что та еще.
0
|
Будущее рядом
101 / 100 / 48
Регистрация: 06.03.2014
Сообщений: 342
|
|
03.05.2014, 09:48 | 36 |
Altair42, объявляйте переменные до цикла... других способов нет
0
|
0 / 3 / 0
Регистрация: 28.06.2013
Сообщений: 359
|
||||||
03.05.2014, 10:42 [ТС] | 37 | |||||
Тогда подскажите как переписать этот част кода чтоб вывод был отдельным. Если ввести 3 символа qwe вывод будет таким qqQ wwW eeE. Ибо в цикле 3 разные команды. Данные сохраняются и выводятся, потом те же данные переписываются в вектор и выводятся, каждый символ в нижнем регистре переводится на верхний и выводится. Как делать чтоб вывод был таким:
qwe qwe QWE
Я не могу составит 3 разные циклы ибо используется один ввод. Все 3 цикла должны видеть один и тот же индекс. Можно сохранит ввод по отдельности в string, vector и отдельно менять символы с нижнего регистра на верхний. Но надо перевести на vector с string, данные которые сохранены в векторе перезаписать и вывести в верхнем регистре.
0
|
Будущее рядом
101 / 100 / 48
Регистрация: 06.03.2014
Сообщений: 342
|
|
03.05.2014, 10:46 | 38 |
Altair42, предлагаю в первом цикле считывать и сохранять данные, а потом вне цикла вывести данные вначале из одной строки, затем из вектора, затем третье значение
0
|
0 / 3 / 0
Регистрация: 28.06.2013
Сообщений: 359
|
||||||
03.05.2014, 11:07 [ТС] | 39 | |||||
TenGen, уже пробовал не получается. Как бы я для вывода использую переменную "i" которая инициализирована внутри цикла. Можно попробовать использовать цикл while но не уверен что получится. Потом с этим циклом код проще.
0
|
Будущее рядом
101 / 100 / 48
Регистрация: 06.03.2014
Сообщений: 342
|
|
03.05.2014, 11:21 | 40 |
Altair42, логично, что вам нужно будет еще три цикла (в которых тоже будет переменная i)
0
|
03.05.2014, 11:21 | |
03.05.2014, 11:21 | |
Помогаю со студенческими работами здесь
40
Объявление внутри цикла или вне его? Как из цикла вывести данные для другого цикла? Как использовать увеличенную переменную -n++ то вне функции Как сделать переменную, инициализированную в цикле for, досупную вне этого цикла? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |