Задни пространства

как да премахнете крайните интервали в низ

Защо да изхвърляте, ще порасне отново!

Но сериозно:

процедура LTrim(var s : низ);

докато ((дължина(и) > 0) и

процедура RTrim(var s : низ);

докато ((дължина(и) > 0) и

(s[Дължина(и)] = #32)) направи

Изтриване(я), Дължина(и), 1);

процедура Trim(var s : низ);

>[3] SerJaNT(c) 6-Oct-2006 04:17не пишете това отново. нека научим стандартните библиотеки. %-)

Dumkin обаче вече отговори в [11] :)

Е, например, според този принцип: . i:=length(a); while a[i]=#32 и i>0 do dec i; setlength(a,i); .

> while a[i]=#32 and i>0 do dec i;while (i>0) and (a[i]=#32) do dec i;

функция ltrim(s: низ): низ; променлива i, x: цяло число; начало резултат := ""; ако s = "" тогава изход; i := 0; for x := 1 to length(s) do if s[x] = " " then inc(i) else break; ако аз > 0 след това изтрийте(s, 1, i); резултат := s; край;

функция rtrim(s: низ): низ; променлива x, i: цяло число; начало резултат := ""; ако s = "" тогава изход; i := 0; for x := length(s) downto 1 do if s[x] = " " then inc(i) else break; ако аз > 0 след това изтриване (s, x + 1, i); резултат := s; край;

Знам. Просто писах директно във форума и не се замислих за правилния синтаксис. Между другото, има друга синтактична грешка.

И компилаторът не се кълне в използването на променливата за цикъл извън цикъла?

вместо if s[x] = " " трябва да напишете if Ord(s[x])

В [0] бешесамоза интервали.

> броячът на цикъла се използва извън негои защо не може да се използва?

> но откаква причина да не използвате?за вас на първо място поради предупреждението на компилатора

Очевидно не знаех това. По принцип в моя код можете да използвате брояча (i)

Без телепатор човек може само да гадае, но никога не знае със сигурност.

Това не е брояч на цикъл, а обикновена променлива, така че е добре.