
Neyuschet
7 год назад
1. Дано предложение. Подсчитать число пробелов стоящих на нечетных местах, и заменить такие пробелы на символ «*».
2. Дано слово, состоящее из количества букв кратного четырем. Поменять в нем буквы следующим образом: первую с четвертой, вторую с третьей, пятую с восьмой, шестую с седьмой и т.д. Например, из слова «карандаш» должны получить «аракшадн».
ОТВЕТЫ

Paavnalek
Jul 13, 2019
// PascalABC.NET 3.2, сборка 1362 от 14.12.2016
// Внимание! Если программа не работает, обновите версию!
begin
var s:=ReadlnString(gt;);
var p:=s.Select((x,i)-gt;(x,i+1)).Where(x-gt;x[1].IsOdd and (x[0]= ));
Writeln(Число пробелов на начетных местах равно ,p.Count);
foreach var t in p do s[t[1]]:=*;
Writeln(s)
end.
Пример
gt; А роза упала на лапу Азора
Число пробелов на начетных местах равно 3
А роза*упала*на лапу*Азора
// PascalABC.NET 3.2, сборка 1362 от 14.12.2016
// Внимание! Если программа не работает, обновите версию!
begin
var s:=ReadlnString(gt;);
var n:=s.Length;
if n mod 4lt;gt;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 igt;n;
Writeln(s)
end
end.
Пример
gt; карандаш
аракшадн
// Внимание! Если программа не работает, обновите версию!
begin
var s:=ReadlnString(gt;);
var p:=s.Select((x,i)-gt;(x,i+1)).Where(x-gt;x[1].IsOdd and (x[0]= ));
Writeln(Число пробелов на начетных местах равно ,p.Count);
foreach var t in p do s[t[1]]:=*;
Writeln(s)
end.
Пример
gt; А роза упала на лапу Азора
Число пробелов на начетных местах равно 3
А роза*упала*на лапу*Азора
// PascalABC.NET 3.2, сборка 1362 от 14.12.2016
// Внимание! Если программа не работает, обновите версию!
begin
var s:=ReadlnString(gt;);
var n:=s.Length;
if n mod 4lt;gt;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 igt;n;
Writeln(s)
end
end.
Пример
gt; карандаш
аракшадн
126