![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
Hetls |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 18.10.2016 Где: Русь Матушка! !! Репутация: нет Всего: нет |
Дан символьный массив, образованный из слов, разделенных пробелами.
С использованием процедур и функций выполнить: 1) Подсчитать количество слов в тексте 2) Проверить, есть ли в тексте заданное слово 3) Поменять местами два слова текста с заданными номерами 4) Вставить новое слово после указанного и выдать на печать указанное слово текста Хотя бы 3 и 4 пункт сделать. |
|||
|
||||
baldman88 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 18.1.2009 Репутация: нет Всего: 7 |
Несколько вопросов:
1. Слова состоят только из латинских букв? 2. Что значит символьный массив? Просто если язык С++, то удобнее использовать строки (класс string). Или это именно массив из char? 3. Каким образом задаются "указанное" слово и слово, которое после него нужно вставить? |
|||
|
||||
Hetls |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 18.10.2016 Где: Русь Матушка! !! Репутация: нет Всего: нет |
1) Да 2) Просто массив, который заполняется латинскими словами через пробел 3) Указанное слово (должна выводиться строка с вводом "Vvedite ukazanoe slovo" и в ней вводить любое слово, которое есть в массиве, ну а если слова нету, то выводить ошибку - "Slovo ne naideno"); Новое слово (тоже должна выводиться строка с вводом, где нужно ввести новое слово, ну а если слова нету, то так же выводить ошибку, как и с указанным словом) |
|||
|
||||
baldman88 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 18.1.2009 Репутация: нет Всего: 7 |
|
|||
|
||||
Hetls |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 18.10.2016 Где: Русь Матушка! !! Репутация: нет Всего: нет |
Да, массив в C++ (а символьный, потому что состоит из слов) |
||||
|
|||||
baldman88 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 18.1.2009 Репутация: нет Всего: 7 |
В общем вот реализация на С++ со строками (не самая оптимальная и элегантная, но, вроде как, работает):
|
|||
|
||||
Hetls |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 18.10.2016 Где: Русь Матушка! !! Репутация: нет Всего: нет |
Третий пункт (строка) не сохраняется при переходе на четвёртый и нету выдачи на печать указанного слова в тексте ("Vvesti ukazanoe slovo texta, dla vidochi ego na pechat", "Slovo ne naideno"). И если можно, то сделать комментарии (особенно в верхней части кода, чтобы я мог разобраться) Это сообщение отредактировал(а) Hetls - 19.11.2016, 14:20 |
||||
|
|||||
baldman88 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 18.1.2009 Репутация: нет Всего: 7 |
Я ничего не понял. Так?
Это сообщение отредактировал(а) baldman88 - 19.11.2016, 15:11 |
|||
|
||||
baldman88 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 18.1.2009 Репутация: нет Всего: 7 |
По поводу замены слов местами. Представим, что у нас есть строка "hello my dear friend". После разбиения на слова, вектор пар будет выглядеть так (позиция первого символа слова, само слово):
(0, hello) (6, my) (9, dear) (14, friend) Если мы поменяем слово "dear" на слово "sweet", то значение индекса первой буквы слова "friend" уже будет неправильным. Оно уже будет не 14, а 15, так как "sweet" на одну букву длинее "dear". А вот значения индексов слов до слова "dear" останутся прежними. Именно поэтому мы смотрим какие номера слов нам ввели для замены. И если какой-то хитрец задумает коварный план введя сначала больший номер, а потом меньший, то мы не дадим ему нас одурачить =) |
|||
|
||||
Hetls |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 18.10.2016 Где: Русь Матушка! !! Репутация: нет Всего: нет |
Большое спасибо за оказанную помощь!
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |