Удвоить каждую букву слова, стоящую в четной позиции (Pascal)
Удвоить каждую букву слова, стоящую в четной позиции (Pascal)
Ответ(ы) на вопрос:
Гость
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 i>length(s); writeln(s) end.
Гость
1. Современное решение
// PascalABC.NET 3.2, сборка 1363 от 17.12.2016
// Внимание! Если программа не работает, обновите версию!
begin
ReadlnString('>').ToCharArray.Select((c,i)->i.IsOdd?2*c:1*c).Println('')
end.
Пример
> СЛОВО
СЛЛОВВО
2. "Школьное" решение
var
s,s1:string;
i:integer;
begin
Write('>'); Readln(s);
s1:='';
for i:=1 to Length(s) do
if i mod 2<>0 then s1:=s1+s[i]
else s1:=s1+s[i]+s[i];
Writeln(s1)
end.
Не нашли ответ?
Похожие вопросы