Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Разбить текст на слова

Автор: pad 22.04.2005 21:36

Помогите Послезавтра экзамен а у меня не получается сделать очень важную задачу.
Текст состоит из слов между ними любое кол-во пробелов текст в виде n-ого кол-ва столбцов между столббцами три пробела . Необходимо разбить на слова.

Автор: volvo 22.04.2005 21:42

Смотрим здесь: http://forum.pascal.net.ru/index.php?showtopic=2361&view=findpost&p=28157

Автор: Altair 22.04.2005 22:04

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


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

Автор: Guest 23.04.2005 11:44

Дело все в том что текст задан не в виде массива .С массивом я и сам решил а надо что бы программа разбивала именно целый текст число строк не задано.
Вот еще пример приведу:
Машина ехала встречу ей
по главной двигалась
дроге на другая.


Может в задании ошибка но сказано что задан именно текст причем в других задачах сказано если задан массив строк.

Автор: volvo 23.04.2005 15:46

Ну, тогда встречный вопрос: "В какой форме хранится этот текст?"

Автор: Altair 23.04.2005 18:56

А какая разница в чем она задан?
Если задан как-то по другому, первой процедурой формируем входные данные как нам удобно а второй разбиваем на слова.