|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Работа со строками ч.2
Задание: нужно написать программу которая удаляет пробелы внутри строки.
Нужна помощь в реализации Код: Код:
procedure DelMidSpace(var s:string); var i,cnt:integer; begin cnt:=length(s); for i:=1 to cnt do if ord(i)=32 then s[i]:=s[i+1]; cnt:=cnt-1; end; |
#2
|
||||
|
||||
Во первых есть функция Trim, которая удаляет лишние пробелы и непечатаемые символы.
Ну а удаление пробелов если надо своя функция: Код:
function MyTrim(S: String): String; var i: Integer; begin Result := S; for i:=1 to Length(Result) do if(Result[i] = ' ') then Delete(Result, i, 1); end; Циклом пробегаем по всем символам строки, и, если находим пробел, удаляем его из результата... Помогаю за Спасибо |
#3
|
||||
|
||||
А вот так?
Код:
NewStr := StringReplace(YourStr, #32, '', [frReplaceAll]); Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |
#4
|
||||
|
||||
Основная ошибка ваша в том, что длину строки вы вычисляете сразу, а ведь в результате удаления символов длина тоже будет меняться.
Поэтому начинать надо не с 1 позиции, а с последней, тогда даже если мы удалим символ на следующий проход это влиять не будет. Код:
for i := Length(s) downto 1 do if s[i] = ' ' then Delete(s, i, 1); Код:
s1 := ''; for i := 1 to Length(s) do if s[i] <> ' ' then s1 := s1 + s[i]; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#5
|
|||
|
|||
v1s2222, я так сначало писал, но всеравно возвращало ту же строку. Спасибо за старания.
dr. F.I.N., это когда учится, сдается мне что такого не учили или прослушал. То что вы написали очень интересно, спасибо за старания. Страдалецъ, спасибо, Вы очень помогли. Как-то не подумал насчет длинны строки, но в целом только условие неправильно. Всем спасибо за старания и помощь. |
#6
|
|||
|
|||
Напишите пожалуйста код программы по такому условию:
Обеспечить вывод в компонент TMemo всех целых чисел, попадающих в интервалот n1 до n2 и кратных n3. Определить колличество этих чисел. Это нужно не мне, а знакомому. Спасибо за внимание. |
#7
|
||||
|
||||
Код:
s:=''; for i:=n1 to n2 do if i mod n3 = 0 then s:=s+inttostr(n3)+' '; Memo1.lines.Add(s); jmp $ ; Happy End! The Cake Is A Lie. |