Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2023, 08:51   #1
Ninto
Новичок
Джуниор
 
Регистрация: 23.03.2023
Сообщений: 1
По умолчанию Сделать рекурсию

Поменять код под рекурсию
Код:
 const
  n=3;
type
  ar= array[1..n] of integer;
procedure Per(a: ar; p: integer);
var
  i,b: integer;
begin
  if p=n then begin
    for i:=1 to n do write(a[i]);
    writeln
  end
  else begin
    b:= a[p];
    for i:=p to n do begin
      a[p]:= a[i];
      a[i]:= b;
      Per(a,p+1);
      a[i]:= a[p]
    end;
  end;
end;
var
  i: integer;
  a: ar;
begin
  for i:=1 to n do a[i]:= i;
  Per(a,1)
end.

Последний раз редактировалось BDA; 23.03.2023 в 14:25.
Ninto вне форума Ответить с цитированием
Старый 23.03.2023, 10:43   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

Из Правил:
Цитата:
Настоятельно рекомендуем:

- обрамлять код специальным тегом (кнопка с решёткой # на форме сообщения).
и форматировать текст, используя отступы.
Иначе никто не захочет рассматривать нечитаемую портянку. Когда задаёшь вопрос, издеваясь над попытавшимися его прочесть - шансы на ответ минимальны.

Последний раз редактировалось digitalis; 23.03.2023 в 10:48.
digitalis вне форума Ответить с цитированием
Старый 23.03.2023, 14:26   #3
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Добавил форматирование. Что поменять, не понял. В процедуре Per есть вызов Per - рекурсия присутствует.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 23.03.2023, 22:06   #4
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

Тогда, значит, выбросить её надо
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите сделать рекурсию kilogram4ik Помощь студентам 20 28.02.2021 22:02
помогите сделать рекурсию kilogram4ik Помощь студентам 2 10.12.2020 16:43
4 Задачи на рекурсию Toni Milano Помощь студентам 2 27.12.2011 19:02
Задача про рекурсию NIKI18 Общие вопросы C/C++ 1 19.12.2011 20:35