Напечатать те слова последовательности, которые отличаются от последнего слова - 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.

Объяснение кода листинга программы

  1. Объявляются переменные:
    • i - целочисленная переменная для использования в циклах
    • l - целочисленная переменная для хранения длины последовательности
    • t - строковая переменная для хранения временного слова
    • c - символьная переменная для хранения символов
    • a - логическая переменная
    • b - массив строковых переменных
  2. Выводится сообщение Введите последовательность:
  3. Инициализируется значение l как 0
  4. Происходит чтение последовательности символов с клавиатуры, и каждый символ добавляется к строке t, за исключением знаков препинания (точки и запятой). Если встречается знак препинания, то слово t добавляется в массив b и t очищается. Если встречается точка, цикл завершается.
  5. Выводится сообщение Новая последовательность:
  6. Инициализируется переменная a значением false.
  7. В цикле происходит сравнение всех слов в массиве b с последним словом (b[l]). Если слово отличается от последнего, то первая буква этого слова удаляется и это слово выводится, разделенное запятой.
  8. В конце проверяется переменная a: если она истинна, выводится точка с запятой, иначе выводится сообщение Отсутствуют слова!.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.538 из 5
Похожие ответы