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

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

Форум «Всё о Паскале» _ Задачи _ Задача на работу с файлом

Автор: benderlio 30.05.2004 11:14

Вот такого рода задача:
в заданном тексте удалить все слова которые начинаются с четной позиции.
Для удаления использовать ф-цию. (вот тут я правда сам условия не понял, то ли свою написать то ли какую то стандартную использовать).
Вообщем если кому не сложно то помогите, практически весь форум пересмотрел пошожие есть но все не то...

Автор: APAL 30.05.2004 14:40

Что значит с четной позиции?

1-ое слово, 2-ое слово
или
в строке 1-ое слово начинается с 10 символа, второе с 19-ого...

К чему привязываться?

Автор: Catty 30.05.2004 14:44

наверное 2,4,6 и тд слова!
через слово что ли?

Автор: APAL 30.05.2004 19:02

Вот тебе функция для удаления четных слов:

Код
Function OddWord(S : String) : String;
Var
 Sodd,ss      : String;
 DelFlag      : Boolean;
Begin
 DelFlag:=False;
 ss:=s;
 Sodd:='';
 While Length(ss)>0 do
 Begin
   If ss[1]=' ' then
   Begin
     Sodd:=Sodd+ss[1];
     Delete(ss,1,1)
   End
     else
   Begin
     While (ss[1]<>' ') and (Length(ss)<>0) do
     Begin
       If not DelFlag then Sodd:=Sodd+ss[1];
       Delete(ss,1,1);
     End;
     DelFlag:= not DelFlag;
   End;
 End;
 OddWord:=Sodd;
End;

В условии сказано про "заданный текст"....
Если это файл то реализовать например можно так:
Код
Var f0,f : Text;
   St : String;
Begin
 Assign(f0,ParamStr(1));
 Assign(f,ParamStr(2));
 Reset(f0);ReWrite(f);
 While not EOF(f0) do
 Begin
   Readln(f0,St);
   Writeln(f,OddWord(St));
 End;
 Close(f);Close(f0);
End.

Автор: benderlio 31.05.2004 10:47

спасибо