Показать сообщение отдельно
Старый 18.03.2012, 23:23   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Сова Посмотреть сообщение
Очень нужна помощь...
Легко.
Имена файлов и пути, если надо, поправьте.
Код:
Var
 f,f1:Text;
 N_lines,N_words,N_symbols,i,j,k,Jmin,Jmax,Min:Byte;
 N_5:Array[1..30] of Byte;
 Ch:Char;
 S:String;
Begin
 Assign(f,'D:\XXX.txt');
 Rewrite(f);
 Assign(f1,'D:\YYY.txt');
 Rewrite(f1);
 Randomize;
 N_lines:=20+Random(11);
 For i:=1 to N_lines do
  begin
   N_words:=Random(20)+1;
   For j:=1 to N_words do
    begin
     N_symbols:=Random(8)+1;
     For k:=1 to N_symbols do
      write(f,Chr(97+Random(26)));
     If j<N_words then write(f,' ');
    end;
   writeln(f);
  end;
 Close(f);
 Reset(f);
 i:=0;
 Repeat
  Inc(i);
  N_5[i]:=0;
  j:=0;
  Repeat
   Inc(j);
   read(f,Ch);
   If j=1 then Jmin:=1;
   Repeat
    Inc(j);
    read(f,Ch);
   Until (Ch=' ') or EoLn(f);
   If Ch=' ' then Jmax:=j else Jmax:=j+1;
   If Jmax-Jmin=5 then Inc(N_5[i]);
   If Ch=' ' then Jmin:=j+1;
  Until EoLn(f);
  If Not(EoF(f)) then readln(f);
 Until EoF(f);
 Close(f);
 N_lines:=i;
 Min:=21;
 For i:=1 to N_lines do
  If N_5[i]<Min then Min:=N_5[i];
 Reset(f);
 For i:=1 to N_Lines do
  begin
   readln(f,S);
   If N_5[i]>Min then writeln(f1,S);
  end;
 Close(f);
 Close(f1);
End.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070