В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
sonek987
sonek987
24.03.2023 18:54 •  Информатика

Дан текстовый файл f, каждая строка которого состоит из слов, разделенных одним и более пробелами. записать все строки, в которых количество слов минимально, но больше нуля, в новый файл g.

Показать ответ
Ответ:
Engishmaster
Engishmaster
28.09.2020 18:00
//Pascal ABC.NET 3.1 сборка 1219

Var
 f:text;
 ars:array of string;
 s,s1:string;
 min,n,i:integer;
begin
n:=1;
min:=integer.MaxValue;
assign(f,'text.txt');
reset(f);
while not(Eof(f)) do
 begin
  readln(f,s);
  s1:=s;
  s:=s.Trim;
  i:=1;
  while i<>length(s) do
    if (s[i]=' ') and (s[i+1]=' ') then delete(s,i,1) else inc(i);
  if ((s.split).length<=min) and ((s.split).length<>0) then
  begin
   if (s.split).length=min then
    begin
     inc(n);
     setlength(ars,n);
     ars[n-1]:=s1;
    end
    else
    begin
     n:=1;
     setlength(ars,n);
     ars[n-1]:=s1;
    end;
    min:=(s.split).length;
   end;
  end;
close(f);
assign(f,'text1.txt');
rewrite(f);
for i:=0 to n-1 do
writeln(f,ars[i]);
close(f);
end.

Содержимое файла text.txt:
Хей патимейкер
уличный
денсер
шейкер                   шейкер
Содержимое файла text1.txt:
уличный
денсер
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота