Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/25: Рейтинг темы: голосов - 25, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 06.05.2012
Сообщений: 22
1

Описать функцию,которая удаляет из строки все лишние пробелы

09.05.2012, 11:53. Показов 4726. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Описать функцию,которая удаляет из строки все лишние пробелы.Пробелы считаются лишними,если их подряД идет более двух,если они стоят в конце строки после последней строчки.ПОМОГИТЕ ПОЖАЛУЙСТА!ОЧЕНЬ СРОЧНО!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.05.2012, 11:53
Ответы с готовыми решениями:

Описать функцию, которая удаляет из строки все лишние пробелы
Написать программу используя рекурсию Описать функцию, которая удаляет из строки все лишние...

Описать функцию, которая удаляет из строки все лишние пробелы.
Описать функцию, которая удаляет из строки все лишние пробелы. Пробелы считаются лишними, если их...

Напишите функцию ,которая удаляет из переданной ей символьной строки все лишние пробелы, заменяя повторяющиес
:) Напишите функцию ,которая удаляет из переданной ей символьной строки все лишние пробелы, заменяя...

Логическая функция возвращает True, если ее аргумент — простое число. Описать функцию, которая удаляет из строки все лиш
Логическая функция возвращает True, если ее аргумент — простое число. Описать функцию, которая...

8
88 / 88 / 75
Регистрация: 21.08.2011
Сообщений: 151
09.05.2012, 12:06 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
function f(st: string): string;
var i: integer;
begin
   repeat
      inc(i);
      if (st[i]=' ') and (st[i+1]=' ') then begin
         delete(st,i+1,1);inc(i,-1);
      end;
   until i=length(st)-1;
   if st[length(st)]=' ' then delete(st,length(st),1);
   f:=st;
end;
1
Почетный модератор
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
09.05.2012, 12:10 3
Цитата Сообщение от Ekaterina13 Посмотреть сообщение
если их подряД идет более двух
я так понимаю, что два подряд - это нормально?... тогда
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
uses crt;
var s: string;
 
function DelProbel (ss: string): string;
var i,l: byte;
begin
l:=length(ss);
if ss[l]=' ' then
   repeat
   delete(ss,l,1);
   dec(l);
   until ss[l]<>' ';
for i:=l downto 1 do
    if (ss[i+2]=' ') and (ss[i+1]=' ') and (ss[i]=' ')
       then delete(ss,i,1);
DelProbel:=ss;
end;
 
begin
write('s='); readln(s);
write('s=',DelProbel (s));
end.
1
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
09.05.2012, 12:14 4
Еще первый пробел нужно удалить....
Можно еще так.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
uses crt;
function f(st: string): string;
var i: integer;
begin
while(st[1])=' ' do delete(st,1,1);
while(st[length(st)])=' ' do delete(st,length(st),1);
while pos('  ',st)>0 do delete(st,pos('  ',st),1);
f:=st;
end;
var s:string;
begin
writeln('Введите строку с лишними пробелами');
read(s);
s:=f(s);
write(s)
end.
Добавлено через 49 секунд
КонецСвета, Думаю что автор зарапортовался, зачем 2 пробела?
1
Почетный модератор
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
09.05.2012, 12:36 5
Puporev, да бывают всякие такие задания... и насчет первых пробелов - не сказано, но - красивее, конечно...
1
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
09.05.2012, 12:39 6
КонецСвета, Не бери в голову, мы все варианты написали, пусть выбирает...
0
0 / 0 / 0
Регистрация: 06.05.2012
Сообщений: 22
09.05.2012, 14:57  [ТС] 7
Преподаватель мне это задание немного переделала:Описать функцию,которая удаляет из строки все лишние пробелы.Пробелы считаются лишними,если их подряД идет более двух,если они стоят в конце строки после последней точки,если стоят после открывающегося парного знака препмнания!Помогите ее сделать!!!
0
Почетный модератор
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
09.05.2012, 15:08 8
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
uses crt;
var s: string;
 
function DelProbel (ss: string): string;
var i,l: byte;
begin
l:=length(ss);
if ss[l]=' ' then
   repeat
   delete(ss,l,1);
   dec(l);
   until ss[l]<>' ';
for i:=l downto 1 do
    begin
    if (ss[i+2]=' ') and (ss[i+1]=' ') and (ss[i]=' ')
       then delete(ss,i,1);
    if (ss[i] in ['(','{','[']) and (ss[i+1]=' ')
       then delete(ss,i+1,1);
    end;
DelProbel:=ss;
end;
 
begin
write('s='); readln(s);
write('s=',DelProbel (s));
end.
1
0 / 0 / 0
Регистрация: 06.05.2012
Сообщений: 22
09.05.2012, 15:10  [ТС] 9
БОЛЬШОЕ СПАСИБО!!!
0
09.05.2012, 15:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.05.2012, 15:10
Помогаю со студенческими работами здесь

Напишите функцию, которая удаляет из переданной ей символьной строки все символы '<' и '>'
Напишите функцию, которая удаляет из переданной ей символьной строки все символы '&lt;' и '&gt;'. .

Написать процедуру, которая удаляет из строки все конечные пробелы
2. Написать процедуру, которая удаляет из строки все конечные пробелы.

Написать прорамму, которая удаляет все пробелы из введенной строки.
Помогите решить задачу. Составьте программу удаляющие все пробелы из введенной строки, для...

Описать функцию, которая удаляет из строки все лишние пробелы
Помогите пожалуйста решить! Заранее благодарен!) Описать функцию, которая удаляет из строки все...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru