В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Aliotu
Aliotu
12.11.2022 00:18 •  Информатика

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

Показать ответ
Ответ:
Danilenok
Danilenok
15.10.2020 15:11

// 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(0 оценок)
Ответ:
аринка129
аринка129
15.10.2020 15:11
PascalABC.NETbegin 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.Printend.

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


написать программу в Паскале Строки 1. Дана последовательность, содержащая до 5 слов, в каждом из ко
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота