Напечатать те слова последовательности, которые отличаются от последнего слова - Pascal

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, нужна ваша помощь. Дана последовательность, содержащая от 2 до 30 слов, в каждом из которых от 2 до 10 строчных латинских букв; между соседними словами – запятые, за последним словом точка. Напечатать те слова последовательности, которые отличаются от последнего слова, предварительно преобразовав каждое из них по следующему правилу: удалить первую букву в каждом слове. Заранее благодарю всех кто ответил.

Решение задачи: «Напечатать те слова последовательности, которые отличаются от последнего слова»

textual
Листинг программы
  1. var
  2.   i,l:integer;
  3.   t:string;
  4.   c:char;
  5.   a:boolean;
  6.   b:array[1..128] of string;
  7. begin
  8.     write('Введите последовательность:');
  9.    l:=0;
  10.     while not eoln do begin
  11.       read(c);
  12.       if not (c in ['.',',']) then t:=t+c else
  13.       if t<>'' then begin
  14.          l:=l+1;
  15.          b[l]:=t;
  16.          t:='';
  17.          if c='.' then break;
  18.       end;
  19.     end;
  20.    write('Новая последовательность:');
  21.    a:=false;
  22.    for i:=1 to l-1 do
  23.       if b[i]<>b[l] then begin
  24.        delete(b[i],1,1);
  25.        if a then write(',') else a:=true;
  26.        write(b[i]);
  27.       end;
  28.    if a then writeln('.') else writeln('Отсутствуют слова!');
  29. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы