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

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

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

Автор: I am ... 18.03.2008 23:06

Помогите плиз!
В заданом тексте заменить слово А1 на слово А2.

Автор: Айра 18.03.2008 23:08

Ну показывай, что пробовала или хотя бы какие мысли есть smile.gif

Автор: I am ... 18.03.2008 23:10


uses crt;
var s,s1,s2,s3: string;
i:integer;
begin
write ('stroka s: ');
readln (s);
s3:='';
s1:='a1';
s2:='a2';
for i:=1 to length(s) do
begin
if s[i]<>' ' then s3:=s3+s[i];

begin
insert (s2,s,pos(s1,s));
delete (s,pos(s1,s),length(s1));
end;
end;
write(': ',s);
end. ну это так наброски..

Добавлено через 4 мин.
проблемы с insert.. возникают.. удаляет все а1, но а2 не так вставляет....

Автор: Michael_Rybak 18.03.2008 23:25

I am ..., пользуйся, пожалуйста, тэгом code.

Автор: Айра 18.03.2008 23:26

А зачем тебе s3? Или ты таким способом хочешь пройтись по всей строке?
Тогда лучше так:

var s,s1,s2: string;
p: integer;
begin
writeln('введите строку:');
readln(s);
write('s1 = ');
readln(s1);
write('s2 = ');
readln(s2);
while pos(s1,s)<>0 do //пока в строке еще обнаруживается подстрока s1, то выполняем
begin
p:=pos(s1,s);
delete(s,p,length(s1)); //удалили s1
insert(s2,s,p); //вставили на его место s2
end;
writeln(s);
end.


p.s. с тэгами ведь лучше smile.gif

Автор: I am ... 18.03.2008 23:29

ы))красивее))
Огромное спасибо)

Автор: klem4 19.03.2008 1:01

советую уточнить задание, ибо подстрока и слово разные вещи.