0 / 0 / 0
Регистрация: 02.10.2018
Сообщений: 5

Ограничение последнего слова

02.10.2018, 20:53. Показов 682. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени. Есть такая небезизвестная задача "В тексте найти все пары слов, из которых одно является об¬ращением другого."
С ней только одна проблема, ответ на которую не нашел (не хватает еще девственного, неопытного мозга)
После всех пар по условию ставится ";". видно на скрине. Каким образом можно последнюю пару ограничить не ";", а обычной "."
(В данном случае после пары "так и кат")
Миниатюры
Ограничение последнего слова  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.10.2018, 20:53
Ответы с готовыми решениями:

Найти и сохранить в строке те слова, которые отличны от последнего слова и удовлетворяют следующему свойству
Дана строка. Словом текста считается любая последовательность букв латинского алфавита; между соседними словами - не менее одного...

Вывести те слова, которые отличаются от последнего слова и удовлетворяют условию, что в слове нет повторяющихся букв
1)Вывести те слова, которые отличаются от последнего слова и удовлетворяют условию, что в слове нет повторяющихся букв. помогите плиз =)

Метод проверки первого и последнего символа слова
Здравствуйте. Начала писать игру "Города", и у меня возникла проблема. Не могу написать метод который бы проверял последнюю букву...

11
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
02.10.2018, 21:01
Brs55, код где?
0
0 / 0 / 0
Регистрация: 02.10.2018
Сообщений: 5
02.10.2018, 21:03  [ТС]
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Str 
{
    private final String[] words;                       
    public Str(String string) {                 
        words = string.split(" ");      
    }
    public void findAndPrint() {
        System.out.println("Обращенные пары слов : ");
        for (int i = 0; i < words.length; i++) {    
            for (int j = i + 1; j < words.length; j++) {
                String reverseWord = new StringBuilder(words[j]).reverse().toString(); 
                if (words[i].equals(reverseWord)) {
                    System.out.println(words[i] + " и " + words[j] + " ;");
                }
            }
        }
    }
}
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
02.10.2018, 21:10
Brs55, один из вариантов
Java
1
2
3
4
5
6
7
8
9
10
11
        System.out.println("Обращенные пары слов : ");
        StringBuilder result = new StringBuilder();
        for (int i = 0; i < words.length; i++) {
            for (int j = i + 1; j < words.length; j++) {
                String reverseWord = new StringBuilder(words[j]).reverse().toString();
                if (words[i].equals(reverseWord)) {
                    result.append(words[i]).append(" и ").append(words[j]).append(" ;");
                }
            }
        }
        result.setCharAt(result.length()-1, '.');
0
0 / 0 / 0
Регистрация: 02.10.2018
Сообщений: 5
02.10.2018, 21:18  [ТС]
Цитата Сообщение от iSmokeJC Посмотреть сообщение
Brs55, один из вариантов
Либо я где-то напился, либо на самом деле пары слов он перестал искать, теперь в любом случае

Введите обрабатываемые слова(текст):
привет тевирп кот ток рак кар
Обращенные пары слов :
СБОРКА УСПЕШНО ЗАВЕРШЕНА (общее время: 10 секунды)
0
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
02.10.2018, 21:21
Brs55, или если сразу выводить:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    public void findAndPrint() {
        System.out.println("Обращенные пары слов : ");
        int count = 0;
        for (int i = 0; i < words.length; i++) {
            for (int j = i + 1; j < words.length; j++) {
                String reverseWord = new StringBuilder(words[j]).reverse().toString();
                if (words[i].equals(reverseWord)) {
                    if (count > 0) {
                        System.out.println(";");
                    }
                    System.out.print(words[i] + " и " + words[j]);
                    count++;
                }
            }
        }
        if (count > 0) {
            System.out.println(".");
        }
    }
Добавлено через 1 минуту
Цитата Сообщение от Brs55 Посмотреть сообщение
он перестал искать
А System.out.println(result.toString()); делали?
1
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,780
02.10.2018, 21:25
Цитата Сообщение от Brs55 Посмотреть сообщение
Есть такая небезизвестная задача "В тексте найти все пары слов, из которых одно является об¬ращением другого."
Это безызвестная задача. А слова «об¬ращение» нет даже в словаре Даля.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
02.10.2018, 21:27
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public static void main(String[] args) {
        String[]words = "привет тевирп кот ток рак кар".split(" ");
        System.out.println("Обращенные пары слов : ");
        StringBuilder result = new StringBuilder();
        for (int i = 0; i < words.length; i++) {
            for (int j = i + 1; j < words.length; j++) {
                String reverseWord = new StringBuilder(words[j]).reverse().toString();
                if (words[i].equals(reverseWord)) {
                    result.append(words[i]).append(" и ").append(words[j]).append(" ;\n");
                }
            }
        }
        result.setCharAt(result.length()-2, '.');
        System.out.println(result);
    }
Bash
1
2
3
4
Обращенные пары слов : 
привет и тевирп ;
кот и ток ;
рак и кар .
1
0 / 0 / 0
Регистрация: 02.10.2018
Сообщений: 5
02.10.2018, 21:28  [ТС]
Цитата Сообщение от JIeIIIa Посмотреть сообщение
А System.out.println(result.toString()); делали?
нет)
Куда уж мне на первых-то шагах такое замечать..?
Хотя стоило бы) С дополнением не получилось, а вот ваш код встал прям как родной, спасибо.

И все же относительно первого варианта, просто чтобы разобраться можете пояснить?
0
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
02.10.2018, 21:30
Цитата Сообщение от Brs55 Посмотреть сообщение
относительно первого варианта, просто чтобы разобраться можете пояснить?
Все просто. Результат "собирался" в StringBuilder, но никуда не выводился. Надо или последней строкой в консоль выводить или возвращать строку из метода.
0
0 / 0 / 0
Регистрация: 02.10.2018
Сообщений: 5
02.10.2018, 21:44  [ТС]
Относительно понял, по ходу дальше должен буду разобраться. Спасибо всем за ответы

Добавлено через 9 минут
Цитата Сообщение от korvin_ Посмотреть сообщение
Это безызвестная задача. А слова «об¬ращение» нет даже в словаре Даля.
Искал варианты решения, встречался с такими же запросами.
Относительно слова уж извините, не посмотрел, когда из задания копировал
0
 Аватар для Aviz__
2759 / 2066 / 509
Регистрация: 17.02.2014
Сообщений: 9,492
03.10.2018, 10:23
без StringBuilder))
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
private static boolean isEqualWordAndRevwrsWord(String word1, String word2) {
        if (word1.length() != word2.length())
            return false;
        if (word1.length() == 1)
            return word1.equals(word2);
        for (int i = 0; i < word1.length() / 2; i++) {
            if (word1.charAt(i) != word2.charAt(word2.length() - i - 1))
                return false;
        }
        return true;
    }
 
    public static void main(String[] args) {
        String [] textWords = "12345 qwe 54321 3 87 32 3 78".split(" ");
        for (int i = 0; i < textWords.length; i++) {
            for (int j = i + 1; j < textWords.length; j++) {
                if (isEqualWordAndRevwrsWord(textWords[i], textWords[j]))
                    System.out.printf("%s <=> %s%n", textWords[i], textWords[j]);
            }
        }
    }
результат работы:
12345 <=> 54321
3 <=> 3
87 <=> 78
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.10.2018, 10:23
Помогаю со студенческими работами здесь

Напечатать все слова, отличные от последнего слова, предварительно удалив из каждого слова последнюю букву
1) Программа. Дан текстиз строчных русских букв, закоторым следует точка. Напечатать этот текст заглавными русскими буквами. 2)...

Напечатать все слова отличные от последнего слова, предварительно перенести последнюю букву в начало слова
Дано текст, содержащий от 2 до 30 слов, в каждом из которых от 2 до 10 латинских букв, между соседними словами - не менее одного пробела....

В исходной строке а$ определить все слова, отличные от последнего слова. Вывести эти слова в столбик
Помогите решить: В исходной строке а$ определить все слова, отличные от последнего слова. Вывести эти слова в столбик. Отблагодарю.

Напечатать слова, которые отличны от последнего слова текста, предварительно удалив из слова последнюю букву
Дана последовательность содержащая от 1 до 30 слов, в каждом из которых от 1 до 5 строчных латинских букв; между соседними словами не менее...

Напечатать все слова, отличные от последнего слова, предварительно перенеся первую букву в конец слова
Дана последовательность, содержащая от 2 до 30 слов, в каждом из которых от 2 до 10 латинских букв; между соседними словами - не менее...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru