
Nilath
7 год назад
Удвоить каждую букву слова, стоящую в четной позиции (Pascal)
ОТВЕТЫ

Тимук
Jul 10, 2019
1. Современное решение
// PascalABC.NET 3.2, сборка 1363 от 17.12.2016
// Внимание! Если программа не работает, обновите версию!
begin
ReadlnString(gt;).ToCharArray.Select((c,i)-gt;i.IsOdd2*c:1*c).Println()
end.
Пример
gt; СЛОВО
СЛЛОВВО
2. "Школьное" решение
var
s,s1:string;
i:integer;
begin
Write(gt;); Readln(s);
s1:=;
for i:=1 to Length(s) do
if i mod 2lt;gt;0 then s1:=s1+s[i]
else s1:=s1+s[i]+s[i];
Writeln(s1)
end.
// PascalABC.NET 3.2, сборка 1363 от 17.12.2016
// Внимание! Если программа не работает, обновите версию!
begin
ReadlnString(gt;).ToCharArray.Select((c,i)-gt;i.IsOdd2*c:1*c).Println()
end.
Пример
gt; СЛОВО
СЛЛОВВО
2. "Школьное" решение
var
s,s1:string;
i:integer;
begin
Write(gt;); Readln(s);
s1:=;
for i:=1 to Length(s) do
if i mod 2lt;gt;0 then s1:=s1+s[i]
else s1:=s1+s[i]+s[i];
Writeln(s1)
end.
Pascal
1 2 3 4 5 6 7 8 9 10 11 12 13 var s:string; i:integer; begin readln(s); i:=1; repeat insert(s[i],s,i); inc(i,2) until igt;length(s); writeln(s) end.
1 2 3 4 5 6 7 8 9 10 11 12 13 var s:string; i:integer; begin readln(s); i:=1; repeat insert(s[i],s,i); inc(i,2) until igt;length(s); writeln(s) end.
99