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

Cтрока: Оставить в словах только последние вхождения каждой буквы...

21.03.2019, 12:34. Показов 3891. Ответов 10

Студворк — интернет-сервис помощи студентам
1. Оставить в словах только последние вхождения каждой буквы. (например белый автомобиль - е ый авт мобиль).
2. Перенести в начало последовательности слова-палиндромы (перевертыши), сохраняя исходный порядок следования слов.
3. Напечатать те слова последовательности, в которых хотя бы на одной нечетной позиции находится буква «А».
Помогите разобраться с задачами, пожалуйста.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.03.2019, 12:34
Ответы с готовыми решениями:

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

Оставить в словах только первые вхождения каждой буквы.
Всем Hello! Помогите с решением друзья, буду очень благодарен))) Строки: 1) Оставить в словах только первые вхождения каждой буквы.

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

10
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
21.03.2019, 12:52
уточни про первый пункт. и это одна задача или три разные?

Добавлено через 4 минуты
белый автомобиль - есть повтор букв: б, л, о; если удалить последние вхождения будет белый автомиь
1
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 17
21.03.2019, 12:52  [ТС]
Это 3 разные задачи.
В первой задаче нам нужно удалить из слова все предыдущие вхождения каждой буквы из строки (проще на цифрах показать
- дано 11001 0033133 000111 - будет 01 013 01 (т.е. если символ в слове повторяется - мы оставляем только крайний его экземпляр))
Изначально не правильно объяснил первую задачу. ИЗВИНЯЮСЬ.
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
21.03.2019, 12:56
если удалять из СЛОВА то почему удаляется "л" в СЛОВЕ "белый", но остается в СЛОВЕ "автомобиль"
чел даже сформулировать условие задачи правильно не может....
0
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 17
21.03.2019, 12:58  [ТС]
Цитата Сообщение от ArtemFM Посмотреть сообщение
уточни про первый пункт. и это одна задача или три разные?

Добавлено через 4 минуты
белый автомобиль - есть повтор букв: б, л, о; если удалить последние вхождения будет белый автомиь
В первой задаче я так и не понял, нужно в каждом слове буквы учитывать или во всей строке
0
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
21.03.2019, 13:40
Лучший ответ Сообщение было отмечено SereIIIka как решение

Решение

задача №1:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.util.Scanner;
 
public class TaskOne {
    public static void main(String[] args) {
        System.out.print("Введите текст\n: ");
        String offer = new Scanner(System.in).nextLine().trim();
        System.out.println("Ответ: " + removeDuplicateSymbolLastIn(offer));
    }
 
    private static String removeDuplicateSymbolLastIn(String offer) {
        StringBuilder sb = new StringBuilder();
        if (offer != null) {
            int position = offer.length() - 1;
            while (position >= 0) {
                char symbol = offer.charAt(position);
                sb.append(symbol);
                offer = offer.substring(0, position).replaceAll(String.valueOf(symbol), "");
                position = offer.length() - 1;
            }
        }
        return sb.reverse().toString();
    }
}
1
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 17
21.03.2019, 14:01  [ТС]
Спасибо большое Вам! А если мне нужно не в каждом слове учитывать символы, а не во всей строке? Т.е. та же самая задача, только к каждому слову.
0
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
21.03.2019, 14:01
Лучший ответ Сообщение было отмечено SereIIIka как решение

Решение

задача №1 (удаление дубликатов в словах, а не полном предложении):

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import java.util.Scanner;
 
public class TaskOne {
    public static void main(String[] args) {
        System.out.print("Введите текст\n: ");
        String offer = new Scanner(System.in).nextLine().trim();
        System.out.println("Ответ: " + getParseOffer(offer));
    }
 
    private static String getParseOffer(String offer) {
        StringBuilder sb = new StringBuilder();
        if (offer != null) {
            for (String word : offer.split("\\b")) {
                sb.append(removeDuplicate(word));
            }
        }
        return sb.toString();
    }
 
    private static String removeDuplicate(String word) {
        StringBuilder sb = new StringBuilder();
        if (word != null) {
            int position = word.length() - 1;
            while (position >= 0) {
                char symbol = word.charAt(position);
                sb.append(symbol);
                word = word.substring(0, position).replaceAll(String.valueOf(symbol), "");
                position = word.length() - 1;
            }
        }
        return sb.reverse().toString();
    }
}
1
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 17
21.03.2019, 14:01  [ТС]
UPDATE
3 задачу я сделал. Осталась вторая
0
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
21.03.2019, 14:22
Лучший ответ Сообщение было отмечено SereIIIka как решение

Решение

Задача №2:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import java.util.Scanner;
 
public class TaskTwo {
    public static void main(String[] args) {
        System.out.print("Введите текст\n: ");
        String offer = new Scanner(System.in).nextLine().trim();
        System.out.println("Ответ: " + getParseOffer(offer));
    }
 
    private static String getParseOffer(String offer) {
        StringBuilder sbPalindrome = new StringBuilder();
        StringBuilder sbNotPalindrome = new StringBuilder();
        offer = offer.replaceAll("\\p{Punct}", " ").trim();
        for (String word : offer.split("\\s+")) {
            if (isPalindrome(word)) {
                sbPalindrome.append(word).append(" ");
            } else {
                sbNotPalindrome.append(word).append(" ");
            }
        }
        return sbPalindrome.append(sbNotPalindrome).toString();
    }
 
    private static boolean isPalindrome(String word) {
        return word.equals(new StringBuilder(word).reverse().toString());
    }
}
Добавлено через 4 минуты
Задача №3:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.util.Scanner;
 
public class TaskThree {
    public static void main(String[] args) {
        System.out.print("Введите текст\n: ");
        String offer = new Scanner(System.in).nextLine().trim();
        System.out.println("Ответ: " + getParseOffer(offer, 'A'));
    }
 
    private static String getParseOffer(String offer, char symbol) {
        StringBuilder sb = new StringBuilder();
        offer = offer.replaceAll("\\p{Punct}", " ");
        for (String word : offer.split("\\s+")) {
            for (int index = 1; index < word.length(); index += 2) {
                if (word.charAt(index) == symbol) {
                    sb.append(word).append(" ");
                    break;
                }
            }
        }
        return sb.toString();
    }
}
Добавлено через 3 минуты
и во второй задаче измени немного метод isPalindrome
он не учитывал case символов

Java
1
2
3
private static boolean isPalindrome(String word) {
        return word.toLowerCase().equals(new StringBuilder(word.toLowerCase()).reverse().toString());
    }
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,977
21.03.2019, 15:40
Цитата Сообщение от SereIIIka Посмотреть сообщение
Это 3 разные задачи
 Комментарий модератора 
5.16 Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема.
Правила форума
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.03.2019, 15:40
Помогаю со студенческими работами здесь

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

Оставить в слове только первые вхождения каждой буквы
2)Дана последовательность слов. Напечатеть все слова, предворительно преобразовав каждое слово по следующему правилу:оставить в слове...

Оставить в слове только первые вхождения каждой буквы
Дана последовательность слов. Вывести все слова, предварительно преобразовав каждое из них по следующему правилу: оставить в слове только...

Оставить в слове только первые вхождения каждой буквы
оставить в слове только первые вхождения каждой буквы.

Оставить в слове только первые вхождения каждой буквы
Задав с клавиатуры последовательность символов, реализовать обработку ее.Исходные данные задать самостоятельно. оставить в слове...


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

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

Новые блоги и статьи
Модель заражения группы наркоманов
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