Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Строки

Автор: Гость 17.04.2007 23:40

Дана строка. Преобразовать её, удалив каждый символ * и повторив каждый символ, отличный от *.

Автор: klem4 17.04.2007 23:41

В чем проблема ?

http://forum.pascal.net.ru/index.php?s=&showtopic=2361&view=findpost&p=61227

Смотри функции Insert и Delete ...

Автор: kess 17.04.2007 23:45

Цитата(klem4 @ 17.04.2007 20:41) *

В чем проблема ?

http://forum.pascal.net.ru/index.php?s=&showtopic=2361&view=findpost&p=61227

Смотри функции Insert и Delete ...

и как это сделать?

Автор: klem4 17.04.2007 23:51

идешь по строке, смотришь если s[i] == '*', удаляешь i-й мимвол с помощью delete иначе с помощью insert вставляешь в i-ю позицию символ s[i] и увеличиваешь i на 2.

Использовть надо цикл while, так как длина строки будет меняться ...

Автор: Needhelp 18.04.2007 2:08

 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.


Книги читай Фаронов форева!

Автор: volvo 18.04.2007 2:17

Цитата
Книги читай
Тебе, кстати, тоже не мешало бы книги читать... Наворотил не поймешь что...

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.


Автор: Needhelp 18.04.2007 2:25

Я про умение описывать переменные=)))...А про свой код я молчу))