|
|
zadach321.PAS |
|
{* Задача 321 *}Unit ZADACH321;Interface Implementation Begin writeln('Дана последовательность из 32 символов. В ней есть слова, которые отделяются друг от друга запятыми. Длина слов от 3 до 7 символов, считается, что длиннее 7 символов слов нет. Проанализировать слова введённой последовательности символов. Среди пар ai и bi, где ai – первая, а bi -последняя буквы i – слова последовательности определить наиболее часто встречающуюся пару. '); End. Program zadach321; Uses zadach321.pas; {* Эту строку можно удалить *} Uses crt; {* Подключаем внешние файлы *} Var {* Необходимые переменные *} i : integer; dl : integer; j : integer; l : integer; max : integer; lider : integer; sum : integer; m : integer; s : integer; st : String[32]; n : String[32]; k : String[32]; A : Array[1..34] Of String; B : Array[1..34] Of String; Begin clrscr; {* Очистка экрана *} writeln('Введите строку не большую 32 символов'); read(st); A[1] := ', '; A[length(st) + 2] := ', '; For i := 2 To length(st) + 1 Do {* Увеличиваем i от 2 до length(st) с шагом 1 *} A[i] := st[i - 1]; n := '00'; For i := 1 To length(st) + 1 Do {* Цикл для i => [1 .. length(st)] *} Begin If (A[i] = ', ') And (A[i + 1]', ') And (n = '00') Then n := A[i + 1]; If (n'00') And (A[i]', ') And (A[i + 1] = ', ') Then Begin j := j + 1; k := A[i]; writeln(j, ' пара- ', n, '___', k); B[j] := n + k; n := '00'; End; End; For i := 1 To j Do {* Переменная i увеличивается с 1 до j *} Begin For l := 1 To j Do {* Увеличиваем l от 1 до j с шагом 1 *} If B[i] = B[l] Then sum := sum + 1; If sum > max Then Begin lider := i; max := sum; End; sum := 0; End; write('Наиболее часто встречающиеся пары- '); If max = 1 Then write('все пары встречаются по одному разу') Else write(lider); For i := 1 To j Do {* Переменная i увеличивается с 1 до j *} Begin For l := 1 To j Do {* Переменная l увеличивается с 1 до j *} If B[i] = B[l] Then sum := sum + 1; If (sum = max) And (B[i]B[lider]) Then Begin s := 0; For m := 1 To i - 1 Do {* Цикл для m => [1 .. i] *} If B[m] = B[i] Then s := 1; If s = 0 Then Begin write(', ', i); lider := i; End; End; sum := 0; End; readln; {* Ждем нажатия Enter *} readln; {* Приостановка программы. Ожидание Enter *} 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
|