Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 24.08.2019
Сообщений: 1
1

Ввести строку. Вывести количество шагов чтобы найти заданное слово

24.08.2019, 19:41. Показов 611. Ответов 2
Метки нет (Все метки)

Дано слово с более 7 и менее 256 заглавных латинских букв. на каждом
шаге из слова можно удалить букву или несколько стоячих рядом букв.
Напишите программу, которая находит наименьшее количество шагов, за которые можно
получить слово ALCATEL. Если это невозможно, то вывести -1.
Входные данные
В одной строке содержится слово.
Выходные данные
Программа должна вывести одну цифру - наименьшее количество шагов, чтобы
получить слово "ALCATEL", или "-1".
Помогите пожалуйста. Заранее спасибо
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.08.2019, 19:41
Ответы с готовыми решениями:

Ввести строку из нескольких слов и найти в ней заданное слово
Ввести строку из нескольких слов и найти в ней заданное слово( введённое с клавиатуры) вывести...

Ввести строку. Вывести строку так, чтобы за каждым словом следовало количество пробелов, равное длине слова.
Ввести строку. Вывести строку так, чтобы за каждым словом следовало количество пробелов, равное...

Ввести строку, вывести слово, содержащее наибольшее количество гласных букв
Привет Ребят,мне нужно сделать лабораторную по информатике,вот что мне надо Ввести строку,...

Распечатать строку, которая содержит заданное слово заданное количество раз
Доброго времени суток! Помогите написать код по заданию! Само задание: Даны несколько строк,...

2
24 / 14 / 10
Регистрация: 11.08.2019
Сообщений: 58
24.08.2019, 21:13 2
Если в данном слове имеются символы A L C A T E L, то это возможно. Предположим, что нет подряд идущих букв из искомого набора, т.е. например QAQLQCQAQTQEQLQ. Здесь необходимо 8 удалений. Вот и посчитай, сколько необходимых символов уже стоят в нужной последовательности и за каждый кроме первого отними от восьми единицу, при этом символы в начале и в конце считаются разделителями между началом/концом слова и первым/последним символом слова. Т.о. в последовательности QALQCATQEQL необходимо выполнить 4 удаления (8 - 4), т.к. AL дают минус действие, CAT дают минус два действия, а отсутствие символов в конце даёт еще минус действие.
0
812 / 500 / 210
Регистрация: 19.01.2019
Сообщений: 1,196
24.08.2019, 23:32 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <algorithm>
#define __NOTFOUND 1001
 
int fnd(char* str, char* word) {
    if (*word == '\0') {
        return *str == '\0' ? 0 : 1;
    }
    for (char* it = str; *it != '\0'; ++it) {
        if (*it == *word) {
            return std::min(fnd(it + 1, word), fnd(it + 1, word + 1) + (*str == *word ? 0 : 1));
        }
    }
    return __NOTFOUND;
}
 
int main()
{
    char str[] = "ALCA-ALCA-ALCATE-A-CAT-E--E-TL-"; //3
    char word[] = "ALCATEL";
    int res = fnd(str, word);
    std::cout << (res == __NOTFOUND ? -1 : res);
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.08.2019, 23:32

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Ввести строку и слово. Вывести количество слов в строке, имеющих длину, равную длине введенного слова.
Ввести строку и слово. Вывести количество слов в строке, имеющих длину, равную длине введенного...

Ввести строку и слово. Вывести количество слов в строке, имеющих длину, равную длине введенного слова.
Как ввести строку и слово, чтобы вывести количество слов в строке, имеющих длину, равную длине...

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.