|
|
zadach302.PAS |
|
{* Задача 302 *}Unit ZADACH302;Interface Implementation Begin writeln('Дан файл, содержащий текст на русском языке. Найти слово, встречающееся в каждом предложении, или сообщить, что такого слова нет.'); End. Program pas15291; Uses zadach302.pas; {* Эту строку можно удалить *} Const {* Постоянные значения *} gap = [' ', ', ', ':', '(', ')', '; ']; eo_sentence = ['?', '!', '.']; Var {* Необходимые переменные *} s : char; txt : text; current_word : String; iterative_word : String; word : Array [1..15] Of Array [1..15] Of String; find : boolean; i : integer; j : integer; k : integer; l : integer; n : integer; Begin assign(txt, 'c:txt.txt'); {* Привязка переменной txt к файлу 'c:txt.txt' *} reset(txt); {* Подготовка переменной txt для чтения из файла *} iterative_word := ''; current_word := ''; i := 1; j := 1; k := 1; n := 0; find := false; While Not(EOF(txt)) Do Begin read(txt, s); If Not(s In gap) And Not(s In eo_sentence) Then current_word := current_word + s Else Begin word[i, j] := current_word; j := j + 1; current_word := ''; End; If (s In eo_sentence) Then Begin i := i + 1; j := 0; End; l := i - 1; End; For k := 1 To 15 Do {* Увеличиваем k от 1 до 15 с шагом 1 *} Begin For j := 1 To 15 Do {* Переменная j увеличивается с 1 до 15 *} If (find = false) And (word[1, j] = word[2, k]) And (word[1, j]'') Then Begin iterative_word := word[1, j]; find := true; End; End; If find = true Then Begin For i := 1 To 15 Do {* Увеличиваем i от 1 до 15 с шагом 1 *} Begin For j := 1 To 15 Do {* Увеличиваем j от 1 до 15 с шагом 1 *} If word[i, j] = iterative_word Then n := n + 1; End; End; If (find = true) And (l = n) Then Begin writeln('Во всех предложениях повторяется'); writeln('слово "', iterative_word, '"'); End; Else writeln('Повторяющихся в каждом предложении слов нет'); close (txt); {* Закрытие файла *} readln End... 07.08.2014 - Breakpoint - точка остановки 07.08.2014 - Топ-10 самых популярных приложений в Facebook 18.11.2013 - Панель управления и персонализация системы. Windows Vista 18.11.2013 - Логические и физические диски. Windows Vista 18.11.2013 - Удаление файлов и папок 01.11.2013 - Программирование дисковых подсистем: возможности 31.10.2013 - Windows8 или Windows7? 31.10.2013 - Windows8, игры |
|
Non-commercial fansite
|