Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 1
Регистрация: 30.03.2014
Сообщений: 68

В строках найти одинаковые по размеру слова и переставить их из одной строки в другую

02.04.2014, 02:56. Показов 1220. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пользователем задаётся две строки (предложения, состоящие из слов и пробелов). Необходимо в строках найти одинаковые по размеру слова и переставить их из одной строки в другую.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.04.2014, 02:56
Ответы с готовыми решениями:

Найти одинаковые слова в двух строках
Привет, как сделать так, чтобы можна было ввести с клавиатуры две строки, а в третью строку вписать одинаковые слова из первых двух строк ...

Копирование слова из одной строки в другую
Нужно написать часть программы, которая копирует слово из одной строки в другую, затем выполняется функция и затем копируется другое...

Как найти слова, которые повторяются в обеих строках, если разделяю слова в строках , используя Tokenizer
Нужно вывести слова, которые повторяются в обеих строках. Сказали, что нужно разделить строки на отдельные слова с помощью Tokenizer, а вот...

8
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
02.04.2014, 03:41
Если несколько слов одинакового размера? Например, в одной строке два слова по пять символов, в другой - одно слово из пяти символов, что с чем менять?
0
 Аватар для IrineK
2023 / 1641 / 425
Регистрация: 23.02.2011
Сообщений: 6,002
Записей в блоге: 25
02.04.2014, 05:02
alsav22 , мне видится так:

Одна строка будет ведущей (внешний цикл), а вторая - ведомой (внутренний цикл).

Тогда "команду на обмен" задает ведущая строка с очередным словом. При этом проходим ведомую строку с начала и первое подходящее слово меняем. Break. Новый шаг внешнего цикла.

Конец работы по завершению прохода по ведущей строке.
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
02.04.2014, 05:23
Цитата Сообщение от IrineK Посмотреть сообщение
мне видится так
Можно и так, вариантов много.
0
0 / 0 / 1
Регистрация: 30.03.2014
Сообщений: 68
02.04.2014, 17:22  [ТС]
Я представляю алгоритм. Дело в том, что со строками я никогда не работал, и как реализовать алгоритм я не знаю. В сеть много инфы о строках,но всё не по делу..
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
02.04.2014, 17:33
Цитата Сообщение от rivares1853 Посмотреть сообщение
Я представляю алгоритм.
А я нет. Поделитесь?
0
0 / 0 / 1
Регистрация: 30.03.2014
Сообщений: 68
02.04.2014, 18:08  [ТС]
1) Вводим строки s1 и s2, s3 и s4. Узнаём их полную длину: lens1=s1.length();и lens2=s2.length();

2) Создаём внешний for и внутренний for.

3) Во внешнем цикле, сначала мы должны считать первое слово s3[i]=s1[i] , узнать его длину len1=s3.length();

4) Теперь, во внутреннем цикле, мы должны считать второе слово s4[i]=s2[i] , узнать его длину len2=s4.length(); , if ( len1 == len2 ) { здесь мы как-то должны произвести замену (по-идее присвоением,но каким боком?!) } else { продолжаем дальше идти по второй строчке к следующему слову}

5) Когда внутренний цикл закончится, управление переходит внешнему циклу и.т.д.

6) Если похожих по длине слов не находятся, то "Ошибка". // во внутреннем цикле делается проверка : if( s1[lens1] == s2[lens2] ) { cout<<"Ошибка";}

7) Выводим s1 и s2 на экран.
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
02.04.2014, 18:35
Предположим, первые слова, в двух строчках, оказались одинаковыми по длине, заменили. Третье слово, в первой строке, равно по длине первому (в этой же строке). Что делать с первым словом во второй строке, которое уже заменено первым из первой строки? Опять менять?

Добавлено через 12 минут
Алгоритм мне до конца не ясен, но одно из технических решений (для вашего понимания алгоритма): создаёте два вектора string, через строковые потоки читаете в эти векторы слова из строк, дальше просто (циклы просмотра векторов, сравнения элементов векторов, замены элементов векторов).
0
 Аватар для IrineK
2023 / 1641 / 425
Регистрация: 23.02.2011
Сообщений: 6,002
Записей в блоге: 25
02.04.2014, 19:12
Цитата Сообщение от alsav22 Посмотреть сообщение
Опять менять?
В сформулированной задаче запрета на повторный обмен нет. Значит, спокойно меняем еще раз.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.04.2014, 19:12
Помогаю со студенческими работами здесь

Даны строки. Найти количество вхождений из одной строки в другую
Даны строки.Найти количество вхождений из одной строки в другую

Удалить одинаковые слова в строках
Здравствуйте, нужно ввести строку не более 200 символов, удалить из нее повторяющиеся слова (не повторные вхождения), вывести нужно 3...

Нахождение в 2ух строках одинаковые слова.
Задание:Написать программу выполняющую указанные действия над строкой (строками).1 Сло- вом считать один и более символов латинского...

Найти число вхождений одной строки в другую
Код под спойлером по собственным соображениям. #include &lt;stdio.h&gt; #include &lt;string.h&gt; int main() { int l1,l2,c; char...

Найти количество вхождений одной строки в другую
даны строки 1 и 2. надо найти количество вхождений из строки 1 в строку 2


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru