поиск слов в текстовом файле.

Тема в разделе "WASM.BEGINNERS", создана пользователем domov0i, 9 апр 2008.

  1. domov0i

    domov0i New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    74
    доброго времени суток.
    возникла у меня проблема - не могу додумать до конца одну задачу.
    сразу скажу - она на делфи(извиняюсь что немного не по тематике сайта, но васмовцам более доверяю);
    ...............................................................................................................................................................
    Задача: Дан файл, содержащий текст на русском языке и некоторые два слова. определить, сколько раз они встречаются в тексте и сколько из них непосредственно друг за другом.
    ...............................................................................................................................................................
    мои мысли вот:
    Код (Text):
    1. unit Unit1;
    2.  
    3. interface
    4.  
    5. uses
    6.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    7.   Dialogs, StdCtrls, Buttons;
    8.  
    9. type
    10.   TForm1 = class(TForm)
    11.     BitBtn1: TBitBtn;
    12.     Memo1: TMemo;
    13.     procedure BitBtn1Click(Sender: TObject);
    14.   private
    15.     { Private declarations }
    16.   public
    17.     { Public declarations }
    18.   end;
    19.  
    20. var
    21.   Form1: TForm1;
    22.   fff:TextFile;
    23.   s3,s2,s1,a:String;
    24.   c,b,i,ii:integer;
    25.  
    26. implementation
    27.  
    28. {$R *.dfm}
    29.  
    30. procedure TForm1.BitBtn1Click(Sender: TObject);
    31. begin
    32.      c:=0;
    33.      b:=0;
    34.      i:=0;
    35.      s1:='слово1';
    36.      s2:='слово2';
    37.      i:=0;
    38.      ii:=0;
    39.      AssignFile(fff, '1.txt');
    40.      while not (eof(fff)) do
    41.      begin
    42.      readln(fff, s3);
    43.      while not (EOL(s3)) do
    44.            begin
    45.            if not(s3[i] = ' ') then
    46.            begin
    47.            a[ii]:= a[ii] + s3[i];
    48.            end
    49.            else if (a=s1) then begin c:=c+1; end
    50.                           else if (a=s2) then begin b:=b+1; end;
    51.      ii:=0;
    52.      i:=i+1;
    53.      end;
    54.      end;
    55.      memo1.Lines.add('количество слов /слово1/ в файле = ' +inttostr(c));
    56.      memo1.Lines.add('количество слов /слово2/ в файле = ' +inttostr(b));
    57. end;
    58.  
    59. end.
    вопрос: в чем не прав я?
    помогите если кто знает.
    про "сколько из них непосредственно друг за другом." - это я могу додумать сам...
     
  2. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    эм... а тебе именно руками надо делать поиск? а то ведь strpos вроде бы есть для этого
     
  3. domov0i

    domov0i New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    74
    в том-то все и дело, что руками. =)
     
  4. domov0i

    domov0i New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    74
    все, спасибо. разобрался.