|
|
zadach501.PAS |
|
{* Задача 501 *}Unit ZADACH501;Interface Implementation Begin writeln('Hапечатать все перестановки чисел 1..N'); End. Program zadach501; Uses zadach501.pas; {* Эту строку можно удалить *} Type {* Типы переменных *} Pere = Array [byte] Of byte; Var {* Объявление переменных *} N : byte; i : byte; j : byte; X : Pere; Yes : boolean; Var {* Необходимые переменные *} X : Pere; Var {* В работе нам потребуются переменные: *} Yes : boolean); Var {* В работе нам потребуются переменные: *} i : byte; Var {* Объявление переменных *} a : byte); b : byte); {обмен переменных} Var {* В работе нам потребуются переменные: *} c : byte; Begin c := a; a := b; b := c End; Begin i := N - 1; {поиск i} While (i > 0)And(X[i] > X[i + 1]) Do dec(i); {* Вычтем из i единицу *} If i > 0 Then Begin j := i + 1; {поиск j} While (jX[i]) Do inc(j); {* j++ *} Swap(X[i], X[j]); For j := i + 1 To (N + i) Div 2 Do Swap(X[j], X[N - j+i + 1]); Yes := true End; Else Yes := false End; Begin write('N='); readln(N); For i := 1 To N Do {* Переменная i увеличивается с 1 до N *} X[i] := i; Repeat For i := 1 To N Do {* Увеличиваем i от 1 до N с шагом 1 *} write(X[i]); writeln; {* Пустая строка *} Next(X, Yes) Until Not Yes 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
|