Вопрос задан 05.07.2023 в 09:39. Предмет Информатика. Спрашивает Завальская Ангелина.

Помогите написать программу в Паскале Строки 1. Дана последовательность, содержащая до 5 слов, в

каждом из которых до 5 строчных латинских букв; между соседними словами — не менее одного пробела, за последним словом — точка. Напечатать все слова последовательности, предварительно преобразовав каждое из них по следующему правилу: 1) перенести первую букву в конец слова; 2) если слово нечетной длины, то удалить его среднюю букву.
0 0
Перейти к ответам

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

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

// PascalABC.NET 3.6.3

function Cnv(s: string): string;

begin

 var n := s.Length;

 if s[n] = '.' then begin

   s := s[:n];

   Dec(n)

 end;

 if n <= 1 then Result := s

 else

 begin

   if n.IsOdd then begin

     s := s[:n div 2 + 1] + s[n div 2 + 2:];

     Dec(n)

   end;

   Result := s[n] + s[2:n] + s[1]

 end

end;

begin

 var a := ReadString.ToWords;

 a.Select(s -> Cnv(s)).Print

end.

0 0
Отвечает Дробит Владислав.

PascalABC.NET

Ответ:

  • begin
  • var a := ReadString[:^1].ToWords;
  • a.Transform(x -> x.Length.IsEven ? x?[2:]+x[1] : x?[2:x.Length div 2 + 1]+x?[x.Length div 2 + 2:]+x[1]);
  • a.Print
  • end.

Пример работы:


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

Конечно, вот пример программы на Паскале, который выполняет указанные вами задачи:

pascal
program StringTransformation; const MaxWords = 5; MaxWordLength = 5; type TStringArray = array[1..MaxWords] of string; var Sequence: TStringArray; NumWords, i, j: integer; procedure TransformWord(var word: string); begin if Length(word) = 0 then Exit; // Переносим первую букву в конец слова word := Copy(word, 2, Length(word)) + word[1]; // Удаляем среднюю букву, если длина слова нечетная if Length(word) mod 2 = 1 then Delete(word, (Length(word) div 2) + 1, 1); end; begin // Ввод последовательности слов write('Введите количество слов (не более 5): '); readln(NumWords); if (NumWords <= 0) or (NumWords > MaxWords) then begin writeln('Неверное количество слов.'); Exit; end; writeln('Введите последовательность слов:'); for i := 1 to NumWords do readln(Sequence[i]); // Преобразование и вывод слов writeln('Преобразованные слова:'); for i := 1 to NumWords do begin TransformWord(Sequence[i]); writeln(Sequence[i]); end; readln; end.

Скопируйте этот код в среду разработки Паскаля и запустите программу. Она предоставит вам возможность ввести последовательность слов и выведет преобразованные слова в соответствии с заданными правилами.

0 0

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

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

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

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