Задача на строки
Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill
Помогите, пожалуйста решить эту задачу, заранее спасибо!
Задан текст, преобразовать его, удалив все запятые, предшествующие первой точке и заменив знаком «+» все цифры 3, встречающиеся после первой точки.
Задан текст, преобразовать его, удалив все запятые, предшествующие первой точке и заменив знаком «+» все цифры 3, встречающиеся после первой точки.
-
- Сообщения: 375
- Зарегистрирован: 31 авг 2007, 03:06
проверить наличие знака в тексте:
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:='+';
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:='+';
Ужас...
Две новых темы + сообщение в старой...
Остается только эта тема, остальное в мусор.
Две новых темы + сообщение в старой...
Остается только эта тема, остальное в мусор.
Ни что так не ограничивает фантазию программиста, как компилятор...
- un4-funeral
- Сообщения: 60
- Зарегистрирован: 18 апр 2008, 23:40
- Контактная информация:
Serge_Bliznykov,
S2 := Copy(MyString,Pos('.',MyString)+1,length(S2));
а не луше воть?S2 := Copy(MyString,Pos('.',MyString)+1,255);
S2 := Copy(MyString,Pos('.',MyString)+1,length(S2));
Неа. У нас же S2 не инициализирована до этого оператора, т.е. ее длина скорее всего 0. Ну и после копирования 0 символов получим опять пустую строку.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
- un4-funeral
- Сообщения: 60
- Зарегистрирован: 18 апр 2008, 23:40
- Контактная информация:
Хыиуду писал(а):Неа. У нас же S2 не инициализирована до этого оператора, т.е. ее длина скорее всего 0. Ну и после копирования 0 символов получим опять пустую строку.
а если длина MyString меньше 255 будет?
Тогда просто скопируется вся строка, ошибки не будет." писал(а):а если длина MyString меньше 255 будет?
Ни что так не ограничивает фантазию программиста, как компилятор...
- un4-funeral
- Сообщения: 60
- Зарегистрирован: 18 апр 2008, 23:40
- Контактная информация:
MOTOCoder писал(а):Тогда просто скопируется вся строка, ошибки не будет.
да ошибки то нет
прост я думал, что в конце пустые символы вставились бы
ан нет...оказалось норм =)