Форум: "Начинающим";
Текущий архив: 2006.04.23;
Скачать: [xml.tar.bz2];
ВнизСтроки Найти похожие ветки
← →
коробас © (2006-03-28 18:36) [0]Задача
Составить программу, позволяющую производить корректировку программы пользователя путем замены последовательности, состоящей из n1 символов, на последовательность, состоящую из n2 символов. Программа вводится в память машины и размещается в символьном массиве. Пользователь вводит две последовательности, состоящие из n1 и n2 символов, в ответ на запрос: 1) «введите символы, которые следует заменить»; 2) «введите символы, на которые следует заменить». Программа просматривается пооператорно. Оператор, содержащий заменяемую последовательность символов, выводится на экран. Так как в операторе может быть несколько таких последовательностей, то необходимо ввести дополнительно номер позиции, начиная с которой осуществляется замена. После этого, если n1> n2, то осуществляется замена n1 на n2 + k символов, где k — число пробелов, равное n1 - n2.. После корректировки следует осуществить сдвиг оставшихся символов оператора на k позиций влево. Если n1< n2, то осуществляется сдвиг вправо символов, начиная с указанной позиции, на n2 - n1 позиций, а затем замена n2 символов. После этого осуществляется просмотр следующих операторов. Процесс корректировки следует прекратить по достижении оператора END и вывести на экран всю программу.
Вопрос:
Куда мне всунуть в программе :номер позиции, начиная с которой осуществляется замена!(Задача в Delphi7)
← →
Kolan © (2006-03-28 19:42) [1]Сократи вопро, чтобы его можно было понять не напрягаясь и с примерами кода..... итд.
← →
коробас © (2006-04-01 20:43) [2]Короче, мне нужно ввести текст и заменить одну букву(слово) на другое во всем тексте.
Как мне сделать так, чтобы буква(слово) менялось в тексте с третьего(n-го) раза.
Вот сама программа:
var a,b,c,e,d:String;
i,j,k,l:Integer;
begin
d:="";
a:=Memo1.Text;
b:=Edit1.Text;
c:=Edit2.Text;
l:=StrToInt(Edit3.Text);
i:=length(b);
j:=length(c);
k:=pos(b,a);
while k>0 do begin
k:=k+length(d);
a:=d+a;
delete(a,k,i);
insert(c,a,k);
k:=pos(b,a);
end;
e:=a;
Memo2.Text:=e;
end;
← →
Kolan © (2006-04-01 21:12) [3]чтобы буква(слово) менялось в тексте с третьего(n-го) раза.
С третьей попытки что ли? Или третье по счёту.
Если второе, то смотриPosEx
.
← →
Anatoly Podgoretsky © (2006-04-01 23:37) [4]Завести счетчик и отказываться менять, пока три раза не введет одно и тоже, а можно просто три поля для ввода, но это не совсем с третьего раза.
← →
коробас © (2006-04-08 08:54) [5]Kolan вот идет например такой ряд:"Но ох скоро ...", мне нужно заменить букву "o" с третьего(n-го) повтора и до конца.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.04.23;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.014 c