Напечатать те слова последовательности, которые отличаются от последнего слова - 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
: если она истинна, выводится точка с запятой, иначе выводится сообщениеОтсутствуют слова!
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д