Напечатать те слова последовательности, которые отличаются от последнего слова - Pascal
Формулировка задачи:
Здравствуйте, нужна ваша помощь. Дана последовательность, содержащая от 2 до 30 слов, в каждом из которых от 2
до 10 строчных латинских букв; между соседними словами – запятые, за последним словом
точка. Напечатать те слова последовательности, которые отличаются от последнего слова,
предварительно преобразовав каждое из них по следующему правилу: удалить первую букву в каждом слове.
Заранее благодарю всех кто ответил.
Решение задачи: «Напечатать те слова последовательности, которые отличаются от последнего слова»
textual
Листинг программы
var i,l:integer; t:string; c:char; a:boolean; b:array[1..128] of string; begin write('Введите последовательность:'); l:=0; while not eoln do begin read(c); if not (c in ['.',',']) then t:=t+c else if t<>'' then begin l:=l+1; b[l]:=t; t:=''; if c='.' then break; end; end; write('Новая последовательность:'); a:=false; for i:=1 to l-1 do if b[i]<>b[l] then begin delete(b[i],1,1); if a then write(',') else a:=true; write(b[i]); end; if a then writeln('.') else writeln('Отсутствуют слова!'); end.
Объяснение кода листинга программы
- Объявляются переменные:
i
- целочисленная переменная для использования в циклахl
- целочисленная переменная для хранения длины последовательностиt
- строковая переменная для хранения временного словаc
- символьная переменная для хранения символовa
- логическая переменнаяb
- массив строковых переменных
- Выводится сообщение
Введите последовательность:
- Инициализируется значение
l
как 0 - Происходит чтение последовательности символов с клавиатуры, и каждый символ добавляется к строке
t
, за исключением знаков препинания (точки и запятой). Если встречается знак препинания, то словоt
добавляется в массивb
иt
очищается. Если встречается точка, цикл завершается. - Выводится сообщение
Новая последовательность:
- Инициализируется переменная
a
значениемfalse
. - В цикле происходит сравнение всех слов в массиве
b
с последним словом (b[l]). Если слово отличается от последнего, то первая буква этого слова удаляется и это слово выводится, разделенное запятой. - В конце проверяется переменная
a
: если она истинна, выводится точка с запятой, иначе выводится сообщениеОтсутствуют слова!
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д