Вопрос задан 27.09.2023 в 19:01. Предмет Информатика. Спрашивает Важенин Илья.

Дан текст. Удалить все слова, которые начинаются на одну и ту же букву.(Pascal)

0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Иванова Юля.

Ответ:

Вот примерно так

Объяснение:

var

 s, s1: string;

 i, k: integer;

 

begin

 write('Введите строку: ');

 readln(s);

 //s := 'мама папа дед лес поп';

 writeln(s);

 s := s + ' ';

 i := 0;

 k := 1;

 while i < Length(s) do

 begin

   inc(i);

   if not (s[i] in [' ', ',', '-']) then  

     s1 := s1 + s[i]

      else  

   begin

     if s1[1] = s1[Length(s1)] then  

     begin

       //    writeln(s1);

       delete(s, k, Length(s1) + 1);

       //    writeln(s);

     end;  

     inc(k, Length(s1) + 1);

     s1 := '';

     //writeln(k);

   end;

 end;

 writeln(s);

end.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вы можете удалить слова, начинающиеся на одну и ту же букву в тексте, используя язык программирования Pascal. Вот пример кода, который сделает это:

pascal
program RemoveWordsStartingWithSameLetter; uses SysUtils, StrUtils; var InputText, OutputText, CurrentWord, NextWord: string; Words: TStringDynArray; i: Integer; begin // Введите текст Write('Введите текст: '); ReadLn(InputText); // Разделите текст на слова Words := SplitString(InputText, ' '); // Инициализируем переменную для хранения результата OutputText := ''; // Проходим по словам и добавляем их в результат, если первая буква не совпадает с первой буквой следующего слова for i := 0 to High(Words) do begin CurrentWord := Words[i]; if i < High(Words) then begin NextWord := Words[i + 1]; if not SameText(CurrentWord[1], NextWord[1]) then OutputText := OutputText + CurrentWord + ' '; end else OutputText := OutputText + CurrentWord; // Добавляем последнее слово без пробела end; // Выводим результат WriteLn('Результат:'); WriteLn(OutputText); ReadLn; end.

Этот код сначала просит пользователя ввести текст, разделяет его на слова, а затем проходит по словам, удаляя слова, которые начинаются на одну и ту же букву, как и следующее слово. Результат выводится на экран.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос