Сейчас: Воскресенье, 08.02.2026, 19:10
  • Страница 1 из 1
  • 1
Удалить из строки все слова, длина которых меньше пяти симво
Администратор
Offline
Дата: Пятница, 03.01.2014, 18:17 | Сообщение # 1
Помощник
Группа: Администраторы
Сообщений: 167
Награды: 0
Репутация: 60
Удалить из строки все слова, длина которых меньше пяти символов. В строке не используются знаки препинания.
 
Администратор
Offline
Дата: Пятница, 03.01.2014, 18:18 | Сообщение # 2
Помощник
Группа: Администраторы
Сообщений: 167
Награды: 0
Репутация: 60

Код
var    s: string;    len, i, j: integer;begin    write('Input string: ');    readln(s);    len:= length(s);  
     i:= 1; {начинаем с первого символа в строке}    j:= 0; {сначала длина слова равна нулю}    while i<=len do begin        if s [i]<> ' ' then begin  {если очередной символ не пробел}            j:= j+1; {увеличиваем длину слова}            i:= i+1; {переходим к следующей букве}        end        else begin {если очередной символ пробел}            if j < 5 then begin  {если длина слова < 5}                delete(s,i-j,j+1); {вырезаем вместе с пробелом после слова}                len:= length(s);                i:= i-j; {i в начало на длину вырезанной подстроки}                j:= 0; {обнуляем длину слова}            end            else begin {если длина слова > 5}                i:= i+1; {переходим к следующей букве}                j:= 0; {обнуляем длину слова}            end;        end;    end;  
     if j < 5 then {если последнее слово < 5 букв}        delete(s,i-j,j);  
     writeln(s);  
readlnend.
 
  • Страница 1 из 1
  • 1
Поиск: