IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Разбить текст на слова
pad
сообщение 22.04.2005 17:36
Сообщение #1


Гость






Помогите Послезавтра экзамен а у меня не получается сделать очень важную задачу.
Текст состоит из слов между ними любое кол-во пробелов текст в виде n-ого кол-ва столбцов между столббцами три пробела . Необходимо разбить на слова.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Altair
сообщение 22.04.2005 18:04
Сообщение #2


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Да, кстати, вот еще кое-что.

Type
TextType = array[1..20] of string; {тип представления текста}
SlovaType = array[1..60]of string[10]; {массив для слов- каждая строка- слово}

{процуедура разбивает входной массив текста на массив слов}
Procedure SepWord(A:TextType; TextLength:word; var S:SlovaType; var K:word);
Var r:set of char; sl:boolean; CurStr,i:Integer; ss:string;
Begin
K:=0; ss:=''; sl:=false; r:=[' ',',','.',':',';','!','?','$','#'];
For CurStr:=1 to TextLength do
for i:=1 to length(a[curstr]) do
begin
if (not(a[curstr,i] in r)) and (sl=true) then ss:=ss+a[curstr,i];{слово продалжается}
if ((not(a[curstr,i] in r)) and (sl=false)) then begin sl:=true; ss:=ss+a[curstr,i] end; {началось слово}
if ((a[curstr,i] in r)or(i=length(a[curstr]))) and (sl=true) then
begin {слово закончилось}
INC(k); s[k]:=ss; ss:=''; sl:=false
end;
end;
end;


p.s. задание в инсте было. "написать процедуру разбиения на слова.
вход - текст (массив из строк текста). число строк. выход - слова (массив из слов) и число слов."
smile.gif


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 12:38
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"