Напечатать те слова, перед которыми в последовательности находятся только меньшие слова - PascalABC.NET
Формулировка задачи:
Дана последовательность, содержащая от 1 до 30 слов, в каждом из которых от 1 до 5 прописных латинских букв; между соседними словами - запятая, за последним словом - точка. Напечатать: те слова, перед которыми в последовательности находятся только меньшие (по алфавиту) слова, а за ними - только большие;
впервые столкнулся со строками, в теории все более менее ясно, а как воплотить не знаю "по алфавиту" скорее всего длина или коды ASCII
Вот что я смог написать, но очень сомневаюсь.
Решение задачи: «Напечатать те слова, перед которыми в последовательности находятся только меньшие слова»
textual
Листинг программы
begin var S := ReadLnString('Введите последовательность слов' + NewLine + '(между соседними словами запятая, за последним словом точка)' + NewLine + 'Последовательность:'); var W := S.Replace(',', ' ').Replace('.', ' ').ToWords; var C := W.Count; for var i := 1 to C-2 do if (W[i-1] < W[i]) and (W[i] < W[i+1]) then WriteLn(W[i]); end.
Объяснение кода листинга программы
В этом коде задача состоит в том, чтобы напечатать те слова, перед которыми в последовательности находятся только меньшие слова. Вот список шагов, которые выполняются в коде:
- Ввод последовательности слов с помощью функции ReadLnString.
- Преобразование введенной строки в список слов с помощью метода Replace и метода ToWords.
- Определение количества слов в списке с помощью свойства Count.
- Проверка каждого слова в списке с помощью цикла for.
- Если текущее слово меньше следующего и следующего за ним слова, то печатается текущее слово с помощью функции WriteLn.
Следующие фрагменты кода соответствуют этим шагам:
- `var S := ReadLnString('Введите последовательность слов' + NewLine +
- '(между соседними словами запятая, за последним словом точка)' + NewLine +
- 'Последовательность:');` - Ввод последовательности слов.
var W := S.Replace(',', ' ').Replace('.', ' ').ToWords;
- Преобразование последовательности в список слов.var C := W.Count;
- Определение количества слов в списке.for var i := 1 to C-2 do
- Цикл, который проверяет каждое слово в списке.if (W[i-1] < W[i]) and (W[i] < W[i+1]) then
- Проверка, что текущее слово меньше следующего и следующего за ним слова.WriteLn(W[i]);
- Печать текущего слова.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д