1. дано предложение. подсчитать число пробелов стоящих на нечетных местах, и заменить такие пробелы на символ «*». 2. дано слово, состоящее из количества букв кратного четырем. поменять в нем буквы следующим образом: первую с четвертой, вторую с третьей, пятую с восьмой, шестую с седьмой и т.д. например, из слова «карандаш» должны получить «аракшадн».

Natte1 Natte1    3   16.08.2019 03:40    1

Ответы
kek22821 kek22821  04.10.2020 22:16
// PascalABC.NET 3.2, сборка 1362 от 14.12.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var s:=ReadlnString('>');
  var p:=s.Select((x,i)->(x,i+1)).Where(x->x[1].IsOdd and (x[0]=' '));
  Writeln('Число пробелов на начетных местах равно ',p.Count);
  foreach var t in p do s[t[1]]:='*';
  Writeln(s)
end.

Пример
> А роза упала на лапу Азора
Число пробелов на начетных местах равно 3
А роза*упала*на лапу*Азора

// PascalABC.NET 3.2, сборка 1362 от 14.12.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var s:=ReadlnString('>');
  var n:=s.Length;
  if n mod 4<>0 then Writeln('Кол-во символов не кратно 4')
  else begin
    var i:=1;
    repeat
      Swap(s[i],s[i+3]);
      Swap(s[i+1],s[i+2]);
      i+=4
    until i>n;
    Writeln(s)
    end
end.

Пример
> карандаш
аракшадн
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика