| |
|
|
| | Please Help me =)
Нужна программа на Турбо Паскале ;)
Удаление из строки всех лишних пробелов...
Кто сможет помочь? | |
| |
|
|
| |
|
|
| |
для: Akira
(21.01.2005 в 15:06)
| | | /*Мучительно вспоминая в каком углу валяется справочник по Pascal*/ Не очень понятно какие пробелы считать лишние, если два пробела подряд идут или с начала строки и с конца? | |
| |
|
|
| |
|
|
| |
для: cheops
(21.01.2005 в 21:50)
| | | Пример:
Удалить все пробелы в начале и в конце. И между словами.:
" мама мыла раму мылом "
Надо убрать лишние пробелы. Оставить по одному между словами. Ну как функция trim().
Мне надо срочно. Завтра сдавать эту работу, она у меня зачетная =/ | |
| |
|
|
| |
|
|
| |
для: Akira
(21.01.2005 в 22:37)
| | | Ёклмн, я в такие дебри залез своих коробок с книгами, чтобы добыть Pascal и диски с оным... если ещё не спите - сейчас накатаю... | |
| |
|
|
| |
|
|
| |
для: Akira
(21.01.2005 в 22:37)
| | |
program pro288;
Uses Crt;
Var
j :Integer;
flag :Boolean;
StrText, NewText :String;
Begin
StrText := ' This is a wrong ... ';
Writeln(StrText);
// Вырезаем пробельные символы с начала
For j:=1 to Length(StrText) do
Begin
if Ord(StrText[j]) > 32 Then Break;
End;
StrText := Copy(StrText,j,Length(StrText) - j + 1);
// Вырезаем пробельные символы с конца
For j:= Length(StrText) downto 1 do
Begin
if Ord(StrText[j]) > 32 Then Break;
End;
StrText := Copy(StrText, 1, j + 1);
// Вырезаем пробельные символы между слов
// помещаем новую строку в NewText
flag := true;
For j:=1 to Length(StrText) do
Begin
if (Ord(StrText[j]) < 33) Then
Begin
if flag Then
Begin
NewText := NewText + StrText[j];
flag := false;
End;
End
Else
Begin
NewText := NewText + StrText[j];
flag := true;
End;
End;
Writeln(NewText);
End.
|
| |
| |
|
|
| |
|
|
| |
для: cheops
(22.01.2005 в 00:46)
| | | Волшебно =) Я бесконечно благодарен =D Теперь осталось убедить , что это я написал =))
А код надеюсь рабочий ;) | |
| |
|
|
| |
|
|
| |
для: Akira
(22.01.2005 в 01:11)
| | | :))) проверьте, правда я перед помещением его сюда заменил все i на j - руки никак не доходят по-нормальному замену тэгов [ i] в форуме сделать... если нигде i на j заменить не забыл должно работать :))) | |
| |
|
|
| |
|
|
| |
для: Akira
(22.01.2005 в 01:11)
| | | Ну эта... комментарии, конечно, не // а {}... я их уж потом в Far выставлял - руки сами набили :))) | |
| |
|
|
| |
|
|
| |
для: cheops
(22.01.2005 в 01:40)
| | | i или j не важно =) Я правда сам еще постораюсь =) Алгоритм я знаю , но вот синтаксис =( На меня еще большая часть группы расчитывает...Эх а завтра еще микроэлектронику сдовать =(( | |
| |
|
|
| |
|
|
| |
для: Akira
(22.01.2005 в 01:46)
| | | Вообще Pascal штука хорошая, к порядку приучает :))) | |
| |
|
|
| |
|
|
| |
для: cheops
(22.01.2005 в 01:50)
| | | НЕ хочу его учить =Р Он старый =) меня к порядку Юникс приучит =) | |
| |
|
|
| |
|
|
| |
для: Akira
(22.01.2005 в 02:19)
| | | UNIX-у недавно 35 лет стукнуло :))) он ещё старше :))) | |
| |
|
|
| |
|
|
| |
для: cheops
(22.01.2005 в 02:27)
| | | Поздравления принемаю сдал микроэлектронику на 4 =) А вот языки нет =)
В том коде было пару ошибок, но не это главное =)
Я оказываеться забыл добавить что надо по мимо символов нужно еще и точки с запятыми =) Но я просто решил добавить в if
еще код "." и "," Ну =) Спасибо в общем =) | |
| |
|
|
| |
|
|
| |
для: Akira
(22.01.2005 в 01:46)
| | | >Эх а завтра еще микроэлектронику сдовать =((
Удачи :) | |
| |
|
|
| |
|
|
| |
для: Akira
(21.01.2005 в 15:06)
| | | Вот на всякий случай мой вариант решения проблемы:
Program two_1;
var st: string; z,i: integer;
Begin
writeln('vvedite stroku');
readln(st);
z:= length(st);
for i:=1 to z-1 do {Удаление пробелов между словами}
begin
if (st[i]=' ') and (st[i+1]=' ') then
begin delete(st,i,1); i:=i-1 end;
end;
if st[1]=' ' then delete(st,1,1); {Удаление пробела в начале}
if st[z]=' ' then delete(st,z,1); {Удаление пробела в конце}
writeln(st);
end.
|
| |
| |
|
|