Удвоить каждую букву слова, стоящую в четной позиции (Pascal)

0 голосов
108 просмотров

Удвоить каждую букву слова, стоящую в четной позиции (Pascal)


Информатика (21 баллов) | 108 просмотров
0

С начала слова, в итоге получится "СЛЛОВВО"

Дано ответов: 2
0 голосов
Правильный ответ
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.

(150k баллов)
0

Спасибо, но Вы представили более продвинутый уровень... У нас в школьном программировании сейчас не совсем такое.

0

Огромное спасибо за помощь! Действительно :)

0

Хорошо, благодарю еще раз)

0 голосов

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.

(131 баллов)
0

А можно ли как-то без inc справиться? Не изучали конкретно эту процедуру..

0

Если подойдешь чуток скину

0

Хорошо!