Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2010, 19:40   #1
shadowmaker
Пользователь
 
Регистрация: 21.07.2009
Сообщений: 21
По умолчанию

привет всем!
удалить все слова введенной строки, длина которых меньше 3 символов.

Код:
uses crt;
var
   s:string;
   i,n,p:integer;
begin
     clrscr;
     readln(s);
     s:=s+' ';
     p:=0;
     n:=0;
     for i:=1 to length(s) do
         if s[i]<>' ' then n:=n+1
                      else
                          begin
                               if n<3 then delete(s,p,n);
                               p:=i+1;
                               n:=0;
                          end;
     write(s);
     readln;
end.
чё-то нифига не получается, уже по-разному пробовал.
заранее благодарен

я ее переделал. она работает, но мне не нравится как она написана.
поправьте, если не сложно

Код:
uses crt;
var
   s:string;
   i,n,p:integer;
begin
     clrscr;
     readln(s);
     s:=' '+s+' ';
     for n:=1 to 5 do
     for i:=1 to length(s) do
     if s[i]=' ' then for p:=i-1 downto 1 do
     if (s[p]=' ') and ((i-p-1)<3) then delete(s,p+1,i-p);
     write(s);
     readln;
end.

Последний раз редактировалось Stilet; 21.05.2010 в 09:39.
shadowmaker вне форума Ответить с цитированием
Старый 21.05.2010, 09:45   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Могу предложить разбивку строки на слова в массив
http://www.programmersforum.ru/showt...369#post398369
Там добавь условие в цикл перед увеличением счетчика count
Код:
   
 if  length(a[count])<3 then a[count]:='';
А потом просто массив выводи на экран
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.05.2010, 11:25   #3
shadowmaker
Пользователь
 
Регистрация: 21.07.2009
Сообщений: 21
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Могу предложить разбивку строки на слова в массив
http://www.programmersforum.ru/showt...369#post398369
Там добавь условие в цикл перед увеличением счетчика count
Код:
   
 if  length(a[count])<3 then a[count]:='';
А потом просто массив выводи на экран
спасибо большое!
shadowmaker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль. Строки Pascaler Помощь студентам 2 15.04.2010 17:28
Строки.(Паскаль) Morzik8 Помощь студентам 7 30.03.2010 19:33
Строки паскаль Antonio_getscool Помощь студентам 2 11.03.2010 13:19
Строки паскаль Antonio_getscool Помощь студентам 2 23.12.2009 10:49
Строки паскаль Shnurik_sh Помощь студентам 8 26.11.2009 23:02