• Предмет: Информатика
  • Автор: Почемучка333
  • Вопрос задан 8 лет назад

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

Ответы

Ответ дал: Rainsenti
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.
Ответ дал: Почемучка333
0
Хорошо!
Ответ дал: Аноним
0
Inc - это не процедура. Это операция в Паскале.
Ответ дал: Аноним
0
В данном случае она обозначает i:=i+2;
Ответ дал: Аноним
0
И - это то, о чем я писал в начале. Ваше решение дает из СЛОВО
ССЛЛООВВОО
Ответ дал: Аноним
0
Т.е. не то, что просил автор вопроса.
Ответ дал: Аноним
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.

Ответ дал: Аноним
0
Объемы текста программ сами можете сравнить)))) Следовательно, и затраченное на написание программы время.
Ответ дал: Почемучка333
0
Огромное спасибо за помощь! Действительно :)
Ответ дал: Аноним
0
Пожалуйста)
Ответ дал: Аноним
0
Вы на будущее, если школьное решение хотите, пишите, что нужно на уровне "традиционного школьного паскаля".
Ответ дал: Почемучка333
0
Хорошо, благодарю еще раз)
Вас заинтересует