Написать программу, которая считывает текст из файла и выводит на экран только предложения, состоящие из заданного количества слов. - Pascal ABC
Формулировка задачи:
1. Написать программу, которая считывает текст из файла и выводит на экран только предложения, состоящие из заданного количества слов.
Людцы добрые, помогитеееее=)
Решение задачи: «Написать программу, которая считывает текст из файла и выводит на экран только предложения, состоящие из заданного количества слов.»
textual
Листинг программы
uses CRT; var fox:text; h:array[1..100] of integer;m1:array[1..100]of string; i,k,j,n:integer;a,l:char; Begin ClrScr; Assign(fox,'fox3.txt'); reset(fox); i:=1;j:=1; while not Eof(fox) do begin while not Eoln(fox) do begin read(fox,a); m1[i]:=m1[i]+a; If a=' ' then inc(j); If a='.' then begin h[i]:=j;inc(i);j:=0;end; end; readln(fox);j:=1; end; close(fox); Repeat Writeln('Введите количество слов :');readln(n); For j:=1 to i do If h[j]=n then writeln(m1[j]); Write('Продолжить(Y/N) ');readln(l); Until l='n'; Writeln('Программа завершена'); end.
Объяснение кода листинга программы
- Установка начального значения переменных:
- fox:text; - инициализация файла
- h:array[1..100] of integer; - массив для хранения номеров предложений
- m1:array[1..100]of string; - массив для хранения текста предложений
- i,k,j,n:integer; - счетчики для обработки текста
- a,l:char; - переменные для чтения символов из файла
- Открытие файла
fox3.txt
для чтения - Чтение файла построчно до конца
- В каждой строке ищется точка, которая обозначает конец предложения
- Если точка найдена, то в массиве h сохраняется номер предложения (переменная j)
- После чтения каждой строки, счетчик j сбрасывается в 1
- Запрос у пользователя на ввод количества слов
- Вывод на экран предложений, которые содержат заданное количество слов
- Запрос на продолжение программы (Y/N)
- Повторение шагов 8 и 9 до тех пор, пока пользователь не введет
n
- Завершение программы и вывод соответствующего сообщения