Ю12.36

Задача: Разнобуквица. Из имеющегося словаря выбрать наиболее длинное слово, в котором  все буквы разные, например:  ЛЕЙКОПЛАСТЫРЬ, НЕРЯШЛИВОСТЬ, ЧЕТЫРЁХДЮЙМОВКА.

Тесты:

Словарь Результат Комментарий
There, here, the, then then Пройден
Список 2500 наиболее употребительных английских слов background Пройден

Код:

Для того что бы найти искомое слово создаем две строки, одна для ввода словаря, другая для результата. Создаем цикл [latex]while[/latex] . С помощью функции [latex]isalpha()[/latex] отсеиваем знаки препинания в словаре. Далее создаем булеву переменную [latex]x[/latex]  и два цикла [latex]for[/latex]  что бы проверить  встречается ли буква в слове больше одного раза, если хоть одна буква повторяется, то   присваиваем [latex]x[/latex] значение «false» и прерываем цикл [latex]for[/latex]. Если значение булевой переменной «true», значит в слове нет повторяющихся букв, из таких слов теперь можно искать самое длинное, для этого счетчику [latex]n[/latex] присваиваем размерность самого длинного слово, и присваиваем его значение  в строку [latex]max[/latex]. Выводим результат.

Ссылка Ideone.

 

Related Images:

One thought on “Ю12.36

  1. Зачтено для string c-string нужен ещё один код. Можно в этом же отчёте.
    Но есть что сказать:
    — Вы путаете размер и размерность. Какое из этих значений слова «размерность» Вы имеете в виду? Слово всегда одномерно (линейно). Хотя… Вы натолкнули меня на интересную мысль с плоскими или объёмными словами. Пожалуй мы изобретём матричную письменность 🙂
    — Удалять не буквы в начале и конце слов совсем не обязательно. Мы ведь пользуемся готовым словарём. Там такого не должно быть.
    — В булевские переменные можно класть 0 или 1, но лучше пользоваться false и true.
    — Текст у Вас и в отчёте и в комментариях полон странных парадоксов. Например, «строка не будет просматривать…». Конечно не будет. Как она может что-то просматривать? А это — «создаем булеву переменную и два цикла» мне напоминает «шёл снег и два милиционера». Честно говоря, мне нравится. Можно не исправлять.

Добавить комментарий