Помощь - Поиск - Пользователи - Календарь
Полная версия: текстовый файл
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
лиза
В текстовом файле содержатся слова , разделителями считаются знаки припенания и пробел. Найти слова содержащие буквосочитания заданные пользователем.
получилось примерно это:
Код
Type TW = Array[1 .. 100] Of String[100];

Function Get(s: String; Var mas: TW): Byte;
Var i, j, p: Byte;
Begin

  Repeat
    p := Pos('  ', s);
    If p > 0 Then Delete(s, p, 1)
  Until p = 0;
  begin
  for i:=1 to 255 do
  if s[i]='.' Then s[i]:=' ';
  if s[i]=',' Then s[i]:=' ';
  end;

  If s[1] = ' ' Then Delete(s, 1, 1); { удаляем пробел в начале строки }
  If s[Length(s)] = ' ' Then
    Delete(s, Length(s), 1); { удаляем пробел в конце строки }

  i := 0;
  Repeat { заполняем массив словами из строки }
    p := Pos(' ', s); Inc(i);
    If p > 0   Then
      Begin
        mas[i] := Copy(s, 1, Pred(p)); Delete(s, 1, p);

      End
    Else mas[i] := s
  Until p = 0;
  Get := i
End;

Var
i, count: Word;
words: TW; f:text;
s:string;
begin
  assign(f,'123.txt');
  reset(f);
  read(f,s);
  Count := Get(s, words); For i := 1 To Count Do
    WriteLn(words[i]);                        close(f);
  readln;
End.


как для каждого слова найти заданное буквосочитание через функцию POS?

Код заключаем в теги...
volvo
Цитата(лиза @ 29.03.05 23:14)
получилось примерно это:

Не "примерно" это, а полностью переписанная функция из FAQ по строкам.

Цитата(лиза @ 29.03.05 23:14)
как для каждого слова найти заданное буквосочитание через функцию POS?

Читать Help Паскаля ...
Повторяю еще раз: За тебя никто ничего делать не будет ... Пока с твоей стороны - полное отсутствие самостоятельных действий.

P.S. Прошлая тема, кстати, из-за этого была закрыта. По-моему, эту тему ждет то же самое.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.