Страница 1 из 1
Задача на строки
Добавлено: 15 апр 2008, 20:39
litis
Помогите, пожалуйста решить эту задачу, заранее спасибо!
Задан текст, преобразовать его, удалив все запятые, предшествующие первой точке и заменив знаком «+» все цифры 3, встречающиеся после первой точки.
Re: Задача на строки
Добавлено: 15 апр 2008, 22:12
Serge_Bliznykov
проверить наличие знака в тексте:
if Pos('.', MyString)>0 then
выделить подстроку от начала до первой точки включительно:
S1 := Copy(MyString,1, Pos('.',MyString));
удалить все запятые в строке S1
while Pos(',',S1)>0 do
Delete(S1,Pos(',',S1),1);
выделить подстроку от точки (не включая её) до конца строки:
S2 := Copy(MyString,Pos('.',MyString)+1,255);
заменить в подстроке S2 все + на цифру 3:
for i:=1 to Length(S2) do
if S2 = '3' then S2:='+';
Re: Задача на строки
Добавлено: 16 апр 2008, 00:18
MOTOCoder
Ужас...
Две новых темы + сообщение в старой...
Остается только эта тема, остальное в мусор.
Re: Задача на строки
Добавлено: 21 апр 2008, 02:43
un4-funeral
Serge_Bliznykov,
S2 := Copy(MyString,Pos('.',MyString)+1,255);
а не луше воть?
S2 := Copy(MyString,Pos('.',MyString)+1,length(S2));
Re: Задача на строки
Добавлено: 21 апр 2008, 11:14
Хыиуду
Неа. У нас же S2 не инициализирована до этого оператора, т.е. ее длина скорее всего 0. Ну и после копирования 0 символов получим опять пустую строку.
Re: Задача на строки
Добавлено: 21 апр 2008, 14:36
un4-funeral
Хыиуду писал(а):Неа. У нас же S2 не инициализирована до этого оператора, т.е. ее длина скорее всего 0. Ну и после копирования 0 символов получим опять пустую строку.
а если длина MyString меньше 255 будет?
Re: Задача на строки
Добавлено: 21 апр 2008, 17:48
MOTOCoder
" писал(а):а если длина MyString меньше 255 будет?
Тогда просто скопируется вся строка, ошибки не будет.
Re: Задача на строки
Добавлено: 21 апр 2008, 19:37
un4-funeral
MOTOCoder писал(а):Тогда просто скопируется вся строка, ошибки не будет.
да ошибки то нет
прост я думал, что в конце пустые символы вставились бы
ан нет...оказалось норм =)