(LABVIEW) Вывести слова с повторяющимися буквами

Простейшие вопросы в области инженерной разработки
Ответить
Lalaila
interested
interested
Сообщения: 2
Зарегистрирован: 09 дек 2022, 23:16
Версия LabVIEW: 10
Контактная информация:

(LABVIEW) Вывести слова с повторяющимися буквами

Сообщение Lalaila »

:labview:
:help:
Подскажите, как решить данную задачу, уже все облазила, не нашла примеров.
Дан некоторый текст и из него необходимо вывести слова с повторяющимися буквами.

Например исходный текст: Аля гуляла по Москве в кроссовках
Должно выйти в результате работы программы: гуляла кроссовках

У меня была идея, разложить приходящий текст на слова, затем эти слова перевести в массив кодов букв и дальше встала в тупик. Не понимаю как сравнивать значения в массиве и как по итогу вывести слова. Помогите объяснением, а если есть возможность, то реализацией.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3406
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 176 раз
Контактная информация:

Re: (LABVIEW) Вывести слова с повторяющимися буквами

Сообщение Artem.spb »

Lalaila писал(а): 09 дек 2022, 23:26 Подскажите, как решить данную задачу, уже все облазила, не нашла примеров.
Интересно, какие примеры вы ищете?
Должно выйти в результате работы программы: гуляла кроссовках
Ещё более интересно, какие повторы есть в слове "гуляла"
Или имеются ввиду не подряд, а вообще в словах?
перевести в массив кодов букв и дальше встала в тупик.
а дальше в цикле эти коды перебрать и сравнить с предыдущими
Если же вам нужны повторы вообще, то нужно ещё копить "словарь"
w.png
Lalaila
interested
interested
Сообщения: 2
Зарегистрирован: 09 дек 2022, 23:16
Версия LabVIEW: 10
Контактная информация:

Re: (LABVIEW) Вывести слова с повторяющимися буквами

Сообщение Lalaila »

По заданию изначально не совсем понятно, нужны ли повторы подряд или просто букв в слове. Если второе гораздо сложнее, то сомневаюсь тогда, что это нужно.

У меня не получается сделать цикл for, который можно остановить. Заменила на While. Можно ли как-то менять индикатор, чтобы он именно выводил именно слово с повтором, а не просто загоралась лампочка.

UPD. Возникла другая проблема. Лампочка горит в любом случае.
повторы букв.vi
(18.42 КБ) 34 скачивания
Вот то, что я реализовываю. Где могла закрасться ошибка?
Последний раз редактировалось Lalaila 10 дек 2022, 17:33, всего редактировалось 2 раза.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3406
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 176 раз
Контактная информация:

Re: (LABVIEW) Вывести слова с повторяющимися буквами

Сообщение Artem.spb »

Lalaila писал(а): 10 дек 2022, 16:39 UPD. Возникла другая проблема. Лампочка горит в любом случае.повторы букв.vi
Вот то, что я реализовываю. Где могла закрасться ошибка?
Ошибка именно в том, что у вас НЕ For loop.
Условие остановки включается так. Но если у вас :labview: 10, то этой опции может ещё не быть.
cond.png
Если так, то надо проверять номер итерации и не вылезать за границы массива (сравнивать i и размер массива)
Вам просто повезло, что циклы останавливаются, вообще говоря ваше решение должно приводить к зависанию: если повторов нет, то (i-1) = i никогда не наступит.
Но когда цикл вылезает за границы массива, используются нули вместо реальных значений (которых уже нет). Поэтому два шага после слова, и 0=0, цикл останавливается.
Аватара пользователя
taras_33

Activity
professional
professional
Сообщения: 392
Зарегистрирован: 31 окт 2009, 18:25
Награды: 1
Версия LabVIEW: 2019
Поблагодарили: 13 раз
Контактная информация:

Re: (LABVIEW) Вывести слова с повторяющимися буквами

Сообщение taras_33 »

Что то одни девушки LabVIEW интересуются, меня терзают смутные сомнения :brows:
Из любопытства как факультет называется?
Теперь по делу.
Lalaila писал(а): 10 дек 2022, 16:39 По заданию изначально не совсем понятно, нужны ли повторы подряд или просто букв в слове. Если второе гораздо сложнее, то сомневаюсь тогда, что это нужно.
Если не совсем понятно что нужно, то реализуем оба варианта. Например так
LV2020
LV2020
Пару слов о коде: Внешний цикл проверяет буковки (ASCII коды) на наличие пробела. Если оный обнаружен, значит это окончание слова и вступает в работу внутренний, к котором, как сказал Артём копим "словарь" и производим поиск двух или более одинаковых букв. Во внешнем цикле имеется флаг, который используется для игнорирования (удаления) лишних пробелов между словами, оставляя только один. Перед началом выполнения в конец тестируемой фразы добавляется пробел (х20). Он нужен для того, чтобы внешний цикл определил окончание последнего слова, иначе оно будет проигнорировано...
Вложения
Homework 3.vi
LV2010
(10.23 КБ) 40 скачиваний
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
Lalaila
interested
interested
Сообщения: 2
Зарегистрирован: 09 дек 2022, 23:16
Версия LabVIEW: 10
Контактная информация:

Re: (LABVIEW) Вывести слова с повторяющимися буквами

Сообщение Lalaila »

Спасибо большое!!!
Технический вуз
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»