|
|
sample029.PAS |
|
{* Генерация перестановок *}Unit SAMPLE029;Interface Implementation Begin writeln('Генерация перестановок'); End. Program pas; Uses sample029.pas; {* Эту строку можно удалить *} { реурсивные алгоритмы: генерация перестановок } Const {* Предопределенные *} n = 3; { количество элементов в перестановке} Var {* Необходимые переменные *} a : Array[1..n] Of integer; index : integer; Procedure generate (l : integer); r : integer); Var {* Объявление переменных *} i : integer; v : integer; Begin If (l = r) Then Begin For i := 1 To n Do {* Переменная i увеличивается с 1 до n *} write(a[i], ' '); writeln; {* Вывод пустой строки *} End; Else Begin For i := l To r Do {* Увеличиваем i от l до r с шагом 1 *} Begin v := a[l]; a[l] := a[i]; a[i] := v; {обмен a[i], a[j]} generate(l + 1, r); {вызов новой генерации} v := a[l]; a[l] := a[i]; a[i] := v; {обмен a[i], a[j]} End; End; End; Begin For index := 1 To N Do {* Переменная index увеличивается с 1 до N *} A[index] := index; generate( 1, n ); 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
|