Дана строка. Преобразовать её, удалив каждый символ * и повторив каждый символ, отличный от *.
В чем проблема ?
http://forum.pascal.net.ru/index.php?s=&showtopic=2361&view=findpost&p=61227
Смотри функции Insert и Delete ...
идешь по строке, смотришь если s[i] == '*', удаляешь i-й мимвол с помощью delete иначе с помощью insert вставляешь в i-ю позицию символ s[i] и увеличиваешь i на 2.
Использовть надо цикл while, так как длина строки будет меняться ...
Program Vseee;
var
a:string;
i : Integer;
begin
i:=1;
Write('vvedite stroky ->');
Read(a);
while i<=length(a) do
begin
if a[i]='*' then
begin
delete(a, i, 1);
end
else
begin
insert(a[i],a,i);
i:=i+2;
end;
end;
Writeln(a);
Readln;
end.
var
s: string;
i: integer;
begin
write('vvedite stroky ->'); readln(s);
for i := 1 to length(s) do begin
if s[1] <> '*' then s := s + s[1] + s[1];
delete(s, 1, 1);
end;
writeln(s);
end.
Я про умение описывать переменные=)))...А про свой код я молчу))