Напишите программу, которая выводит на экран все слова, которые имеют определенный символ в определенной позиции
Здравствуйте.
Препод сегодня задал решить задачу но это совсем не мой уровень, а завтра нужно показать, помогите пожалуйста!
Есть строка, состоящая из слов, разделенных любым количеством пробелов. Напишите программу, которая выводит на экран все слова, которые имеют определенный символ в определенной позиции
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Написать программу, выводящую все слова, имеющие определенный символ в заданной позиции
Есть строка, состоящая из слов, разделенных любым количеством промежутков. Напишите программу.

Напишите программу, которая выводит все простые числа, которые являются палиндромами
Напишите программу, которая выводит все простые числа, которые являются палиндромами

Напишите программу, которая выводит на экран все цифры числа, начиная с первой
Напишите программу, которая выводит на экран все цифры числа, начиная с первой. Входные данные.

[КуМир] Напишите программу, которая выводит на экран в строку все двузначные положительные числа
Спасибо очень помогли. Решите пожалуйста ещё 2 задачи. 1. Напишите программу, которая выводит на.
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
ну хоть какой-то уровень есть?
определяем указатель на char, устанавливаем его на начало строки и инкременируем его, пока не упремся в непробел (т.е. подгоняем к началу слова).
определяем, является ли символ со смещением, равным «определенной позиции» «определенным символом», и в то же время подстрока до этого символа не содержит пробелов. если да — ищем следующий пробел (это будет конец слова), и выводим его (слово) на экран. ищем начало следующего слова.
не нужно также забывать конец строки контроллировать. в общем, посидеть и сделать.
![]()
![]()
![]()
![]()
12229 / 7396 / 1735
Регистрация: 25.07.2009
Сообщений: 13,568
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
#include #include #include int main() { const int INDEX(2); const char SYMBOL('a'); std::string s; while ( std::cout "String: " && std::getline(std::cin, s) && ! s.empty() ) { std::istringstream ist(s); while ( ist >> s ) if ( s.length() > INDEX && s[INDEX] == SYMBOL ) std::cout s std::endl; } return 0; }
Регистрация: 07.09.2011
Сообщений: 12
Добавлено через 59 секунд
Сообщение от easybudda 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
#include #include #include int main() { const int INDEX(2); const char SYMBOL('a'); std::string s; while ( std::cout "String: " && std::getline(std::cin, s) && ! s.empty() ) { std::istringstream ist(s); while ( ist >> s ) if ( s.length() > INDEX && s[INDEX] == SYMBOL ) std::cout s std::endl; } return 0; }
Спасибо большое Вам, а Вы не могли бы комментарии написать ко всем функциям пожалуйста, что бы я понял что за что отвечает
Добавлено через 1 минуту
Сообщение от novi4ok 
ну хоть какой-то уровень есть?
определяем указатель на char, устанавливаем его на начало строки и инкременируем его, пока не упремся в непробел (т.е. подгоняем к началу слова).
определяем, является ли символ со смещением, равным «определенной позиции» «определенным символом», и в то же время подстрока до этого символа не содержит пробелов. если да — ищем следующий пробел (это будет конец слова), и выводим его (слово) на экран. ищем начало следующего слова.
не нужно также забывать конец строки контроллировать. в общем, посидеть и сделать.
какой-то есть но очень слабенький! так что сам пока что такое делать не могу
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
const int INDEX(2); const char SYMBOL('a');
это — неудачный жаргон.
![]()
![]()
![]()
![]()
12229 / 7396 / 1735
Регистрация: 25.07.2009
Сообщений: 13,568
Сообщение от novi4ok 
это — неудачный жаргон.
С блестящей идеей ковырять всю строку по символу при этом отслеживая несколько индексов одновременно конечно не сравнится, но тем не менее — а что тут неудачного?
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
Сообщение от easybudda 
С блестящей идеей ковырять всю строку по символу при этом отслеживая несколько индексов одновременно конечно не сравнится, но тем не менее — а что тут неудачного?
0. не обижайся и не становись в позу. у тебя очень элегантное решение. но .
1. человуку, задавшему вопрос, понять это будет сложнее, чем поковырять в носу (если ты — джентльмен, ты обязан теперь растолковать спросившему, что такое stl).
2. я не критиковал твое решение, а «жаргоном» назвал то, как ты определил константы.
![]()
![]()
![]()
![]()
12229 / 7396 / 1735
Регистрация: 25.07.2009
Сообщений: 13,568
Сообщение от santok6 
написать ко всем функциям
Без понимания того, что из себя представляют стандартные классы, здесь использованные, толка мало будет. Для начала вот с этим разберитесь: string, istringstream, а там, что останется неясным — спрашивайте.
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
Сообщение от easybudda 
Без понимания того, что из себя представляют стандартные классы, здесь использованные, толка мало будет. Для начала вот с этим разберитесь: string, istringstream, а там, что останется неясным — спрашивайте.
именно то, о чем я говорю. типа «научись сперва программировать, потом вопросы задавай». если бы он в этом «разобрался», он бы не задавал здесь этот вопрос. ему нужно сегодня это решить, и завтра, возможно, идти сдавать, и быть в состоянии рассказать преподавателю (который тоже не обязательно знает намного больше, возможно, это калинарный тефникум), как это работает. ему не нужно строку разобрать.
вспомни, сколько тебе времени потребовалось бы на освоение stl во времена, когда ты был на этом уровне. если один вечер — съедаю шляпу.
Python: Кавычки
В этом уроке мы разберемся, что такое строка и какую роль в коде играют кавычки.
Определить строку довольно просто — это некий набор символов. Представим, что у нас есть такие записи:
'Hello' 'Goodbye' 'G' ' ' ''
Какие из этих вариантов — строки? На самом деле, все пять вариантов подходят:
- С ‘Hello’ и ‘Goodbye’ все очевидно — мы уже работали с подобными конструкциями и называли их строками
- ‘G’ и ‘ ‘ — тоже строки, просто в них всего по одному символу
- » — это пустая строка, потому в ней ноль символов
Строкой мы считаем все, что находится внутри кавычек: даже если это пробел, один символ или вообще отсутствие символов.
Выше мы записывали строки в одинарных кавычках, но это не единственный способ. Можно использовать и двойные:
print("Dracarys!")
Теперь представьте, что вы хотите напечатать строчку Dragon’s mother. Апостроф перед буквой s — это такой же символ, как одинарная кавычка. Попробуем:
print('Dragon's mother') # SyntaxError: invalid syntax
Такая программа не будет работать. С точки зрения Python строчка началась с одинарной кавычки, а потом закончилась после слова dragon. Дальше были символы s mother без кавычек — значит, это не строка. А потом была одна открывающая строку кавычка, которая так и не закрылась: ‘) . Этот код содержит синтаксическую ошибку — это видно даже по тому, как подсвечен код.
Чтобы избежать этой ошибки, мы используем двойные кавычки. Такой вариант программы сработает верно:
print("Dragon's mother")
Теперь интерпретатор знает, что строка началась с двойной кавычки и закончиться должна тоже на двойной кавычке. А одинарная кавычка внутри стала частью строки.
Верно и обратное. Если внутри строки мы хотим использовать двойные кавычки, то саму строку надо делать в одинарных. Причем количество кавычек внутри самой строки неважно.
Теперь представим, что мы хотим создать такую строку:
Dragon's mother said "No"
В ней есть и одинарные, и двойные кавычки. Нам нужно каким-то образом указать интерпретатору, что кавычки — это один из символов внутри строки, а не начало или конец строки.
Для этого используют символ экранирования: \ — обратный слэш. Если мы поставим \ перед кавычкой (одинарной или двойной), то интерпретатор распознает кавычку как обычный символ внутри строки, а не начало или конец строки:
# Экранируем кавычки вокруг No, чтобы интерпретатор # распознал их как часть строки print("Dragon's mother said \"No\"") # => Dragon's mother said "No"
Обратите внимание, что в примере выше нам не пришлось экранировать одинарную кавычку (апостроф ‘s), потому что сама строка создана с двойными кавычками. Если бы строка создавалась с одинарными кавычками, то символ экранирования нужен был бы перед апострофом, но не перед двойными кавычками.
Если нужно вывести сам обратный слеш, то работает такое же правило. Как и любой другой специальный символ, его надо экранировать:
print("\\") # => \
Задание
Напишите программу, которая выведет на экран:
"Khal Drogo's favorite word is "athjahakar""
Программа должна вывести на экран эту фразу в точности. Обратите внимание на кавычки в начале и в конце фразы:
"Khal Drogo's favorite word is "athjahakar""
Упражнение не проходит проверку — что делать?
Если вы зашли в тупик, то самое время задать вопрос в «Обсуждениях». Как правильно задать вопрос:
- Обязательно приложите вывод тестов, без него практически невозможно понять что не так, даже если вы покажете свой код. Программисты плохо исполняют код в голове, но по полученной ошибке почти всегда понятно, куда смотреть.
В моей среде код работает, а здесь нет
Тесты устроены таким образом, что они проверяют решение разными способами и на разных данных. Часто решение работает с одними входными данными, но не работает с другими. Чтобы разобраться с этим моментом, изучите вкладку «Тесты» и внимательно посмотрите на вывод ошибок, в котором есть подсказки.
Мой код отличается от решения учителя
Это нормально , в программировании одну задачу можно выполнить множеством способов. Если ваш код прошел проверку, то он соответствует условиям задачи.
В редких случаях бывает, что решение подогнано под тесты, но это видно сразу.
Прочитал урок — ничего не понятно
Создавать обучающие материалы, понятные для всех без исключения, довольно сложно. Мы очень стараемся, но всегда есть что улучшать. Если вы встретили материал, который вам непонятен, опишите проблему в «Обсуждениях». Идеально, если вы сформулируете непонятные моменты в виде вопросов. Обычно нам нужно несколько дней для внесения правок.
Кстати, вы тоже можете участвовать в улучшении курсов: внизу есть ссылка на исходный код уроков, который можно править прямо из браузера.
Программирование 7 класс Python
Дмитрий Филюшкин Мудрец (11724) Егор Тимонин, пожалуйста. Я рад помочь Вам.
Похожие вопросы
Ваш браузер устарел
Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.
Модуль 2.2
Полное решение модуля 2.2 из курса «Поколение Python»: курс для начинающих» с ответами на вопросы и подробным кодом.
- Команда print() используется для вывода данных на экран
- Значения для вывода, указываемые через запятую в команде print() , называются аргументами или параметрами (выбрать оба варианта)
Третий номер:
Здравствуй, мир!
Напишите программу, которая выводит на экран текст «Здравствуй, мир!» (без кавычек).
# Вывод на экран print ("Здравствуй, мир!")
Четвертая задача:
Счастливая последовательность 1
В популярном сериале «Остаться в живых» использовалась последовательность чисел 4 8 15 16 23 42, которая принесла героям удачу и помогла сорвать джекпот в лотерее. Напишите программу, которая выводит данную последовательность чисел с одним пробелом между ними.
Примечание. Текст ‘4 8 15 16 23 42’ не использовать. Воспользуйтесь возможностью команды print() выводить несколько аргументов, указанных через запятую.
# put your python code here print('4', '8', '15', '16', '23', '42')
Пятая задача:
Счастливая последовательность 2
Измените предыдущую программу так, чтобы каждое число последовательности 4 8 15 16 23 42 печаталось на отдельной строке.
Примечание. Каждая последующая команда print() выводит указанный текст, начиная с новой строки.
# put your python code here print('4') print('8') print('15') print('16') print('23') print('42')
Шестой номер:
Звездный треугольник
Напишите программу, которая выводит указанный треугольник, состоящий из звездочек (*).
# put your python code here print('*') print('**') print('***') print('****') print('*****') print('******') print('*******')
Далее идут два текстовых вопроса (7 и 8 соответственно):
- Команда input() используется для считывания данных с клавиатуры
- Установите порядок действий:
print('Какой язык программирования ты изучаешь?') language = input() print(language, '- отличный выбор!')

- Вывод текста «Какой язык программирования ты изучаешь?»
- Ввод данных (пользователь вводит текст)
- Нажатие клавиши Enter
- Запись введенного текста в переменную language
- Вывод текста
9 упражнение:
Приветствие
На вход программе подается строка текста – имя человека. Напишите программу, которая выводит на экран приветствие в виде слова «Привет» (без кавычек), после которого должна стоять запятая и пробел, а затем введенное имя.
Формат входных данных
На вход программе подаётся одна строка — имя человека.Формат выходных данных
Программа должна вывести текст в соотвествии с условием задачи.Примечание. Для считывания текста используйте команду input() , для печати текста на экране используйте команду print() .
# put your python code here print('Привет,', input())
10 номер:
Любимая команда
На вход программе подается строка текста – название футбольной команды. Напишите программу, которая повторяет ее на экране со словами « — чемпион!» (без кавычек).
Формат входных данных
На вход программе подается название футбольной команды.Формат выходных данных
Программа должна вывести текст согласно условиям задачи.Примечание. Для считывания текста используйте команду input() , для печати текста на экране используйте команду print() .
# put your python code here a=input() print(a,'- чемпион!')
11 задача:
Повторяй за мной-1
Напишите программу, которая считывает три строки по очереди, а затем выводит их в той же последовательности, каждую на отдельной строчке.
Формат входных данных
На вход программе подаются три строки, каждая на отдельной строке.Формат выходных данных
Программа должна вывести введенные строки в той же последовательности, каждую на отдельной строке.Примечание. Для считывания текста используйте команду input() , для печати текста на экране используйте команду print() .
a = input() b = input() v = input() print(a) print(b) print(v)
12 (последняя) задача:
Повторяй за мной-2
Напишите программу, которая считывает три строки по очереди, а затем выводит их в обратной последовательности, каждую на отдельной строчке.
Формат входных данных
На вход программе подается три строки, каждая на отдельной строке.Формат выходных данных
Программа должна вывести введенные строки в обратной последовательности, каждую на отдельной строке.Примечание. Используйте 3 переменные для сохранения введённых строк текста.
s = input() b = input() d = input() print(d) print(b) print(s)
На этом модуль 2.2 закончен. Предлагаю перейти к следующему: модуль 2.3.
