Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 4

Выведите на экран строку файла с наибольшим количеством слов

10.11.2013, 19:56. Показов 1301. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, пожалуйста, очень нужно написать программу с выводом через файлы txt, но не пойму, в чем ошибка
Дан текстовый файл. Выведите на экран строку с наибольшим количеством слов. Если таких строк несколько, выведите первую по порядку следования в файле.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Var f1,f2:text;
 
     i,n: integer;
 
     S: string;
 
 Begin
 
     Assign(f1, 'f1.txt'); 
     Rewrite(f1);  
 
     Readln(n); 
 
     for i:=1 to n do
 
     begin
 
         readln(s); 
 
         writeln(f1,s); 
 
     end;
 
     close(f1); 
     Reset(f1); 
 
     Assign(f2, 'f2.txt'); 
 
     Rewrite(f2); 
     While not eof(f1) do
 
     Begin
 
         Readln(f1,s);
 
         If (s[1]='program') then
 
         Writeln(f2,s); 
 
     End;
     Close(f1,f2); 
 
     Writeln;
 
     Writeln('Второй файл содержит строки:');
 
     Reset(f2); 
 
     While not eof(f2) do 
 
     Begin
 
         Readln(f2,s);
 
         Writeln(s); 
 
     End;
 End.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.11.2013, 19:56
Ответы с готовыми решениями:

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

Файлы. Вывести строку с наибольшим количеством слов из файла
Надо вывести на экран строку с наибольшим количеством слов из файла. Program qwerty; Var f: text; s,p: string; a,b:integer; Begin...

Напечатайте строку с наибольшим количеством слов
Tекстовый файл t. Слова не переносятся с одной строки на другую. Слова разделены одним или несколькими пробелами. Напечатайте строку с...

5
14 / 11 / 8
Регистрация: 31.10.2011
Сообщений: 45
10.11.2013, 20:11
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

в этом семестре сдавал эту лабу))
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
program pr2;
uses crt;
var
  path,str:string;//файл лежит c:/
 
 
procedure max_str(var str:string;path:string);
var
  f:text;
  max:integer;
  st:string;
begin
max:=-1;
  try
  assign(f,path);
  reset(f);
  except
    on System.IO.IOException do writeln('Ошибка открытия файла');
  end;
  while not eof(f) do
    begin
      readln(f,st);
      if length(st)>max then 
                            begin
                                max:=length(st);
                                str:=st;
                            end;
    end;
    close(f);
end;
    
  
begin //основная программа
try
write('Расположение файла');
readln(path);
path:=path+'/f.txt';
max_str(str,path);
writeln('самай длинная строка: ',str);
except
  on System.IO.IOException do writeln('не найдена директория, повторите ввод');
end;
 
 
end.
0
1 / 1 / 0
Регистрация: 21.07.2011
Сообщений: 28
11.11.2013, 19:48
Поправьте меня, если я не прав: эта процедура ищет самую длинную строку, а не строку с наибольшем количеством слов.
0
14 / 11 / 8
Регистрация: 31.10.2011
Сообщений: 45
11.11.2013, 20:03
оу, точно, немного невнимательно прочитал. тогда в условии тебе не длину надо сравнивать с максимумом, а количество символов разделителей
0
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 4
12.11.2013, 21:21  [ТС]
спасибо большое, сделала попроще, все получилось))
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var f:text;
    s,s1:string;
    max:byte;
begin
assign(f,'text.txt');
reset(f);
max:=0;
while not eof(f) do
  begin
    readln(f,s);
    if length(s)> max then
      begin
        max:=length(s);
        s1:=s;
      end;
  end;
writeln('Самая длинная строка:');
writeln(s1);
readln
end.
0
1 / 1 / 0
Регистрация: 21.07.2011
Сообщений: 28
12.11.2013, 21:43
Да, получилось, но решение не заданной задачи, где нужен был поиск строки с наибольшим количеством слов, а просто самой длинной строки.
Т. е. для исходных данных:

я я я я
они они они

ожидаемый ответ:

я я я я

, а выведется:

они они они
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.11.2013, 21:43
Помогаю со студенческими работами здесь

Имеется 15 строк, найти строку с наибольшим количеством слов палиндромов
Заранее напишу полное задание: Больше всего меня волнуют слова палиндромы, с остальным надеюсь разобраться сам. Подскажите...

Вывести строки файла с наибольшим количеством слов
Необходима программа для поиска в текстовом файле строки с найбольшим количеством слов в ней, если таких несколько вывести три первых...

Найти строку с наибольшим количеством слов, и удалить из нее самое длинное слово (исправить)
помогите исправить ошибки. задача программы: найти строку, содержащую наибольшее кол-во слов, и удалить из нее самое длинное слово. ...

Поменять первую строку матрицы и строку с наибольшим количеством нулей
помогите с решением дальше.Нашел строку с найбольшим количеством нулей.Не знаю как эту строку поменять с первой. #include...

Поменять в массиве местами строку с наибольшим и строку с наименьшим количеством различных элементов
Помогите, пожалуйста, решить задачу на С++ . Дан массив действительных чисел размера m на n, где m и n – натуральные числа. Поменять в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru