• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Строковый тип и файлы. Нужна помощь

Сова

Ученик
Регистрация
28 Окт 2011
Сообщения
10
Реакции
0
Баллы
0
Строковый тип и файлы. Нужна помощь

Создать текстовый файл, состоящий из случайного количества (не более 30-и) строк. В каждой строке файла содержится случайное количество (не более 20-и) слов, разделенных пробелами. Каждое слово состоит из случайного количества (не более 8-и) строчных латинских букв. Найти в файле строку, содержащую наименьшее количество слов из пяти букв, и удалить ее (если таких строк несколько, то удалить все).

:tehnari_ru_138: Что-то совсем меня не радует... Очень нужна помощь...:tehnari_ru_837:
 
Очень нужна помощь...
Легко.
Имена файлов и пути, если надо, поправьте.
Код:
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.
 
Спасибо.:tehnari_ru_889:
Первую часть сам допер. А вот за поисковик строки спасибо большушее.:tehnari_ru_834:
 
Назад
Сверху