На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! правила раздела Алгоритмы
1. Помните, что название темы должно хоть как-то отражать ее содержимое (не создавайте темы с заголовком ПОМОГИТЕ, HELP и т.д.). Злоупотребление заглавными буквами в заголовках тем ЗАПРЕЩЕНО.
2. При создании темы постарайтесь, как можно более точно описать проблему, а не ограничиваться общими понятиями и определениями.
3. Приводимые фрагменты исходного кода старайтесь выделять тегами code.../code
4. Помните, чем подробнее Вы опишете свою проблему, тем быстрее получите вразумительный совет
5. Запрещено поднимать неактуальные темы (ПРИМЕР: запрещено отвечать на вопрос из серии "срочно надо", заданный в 2003 году)
6. И не забывайте о кнопочках TRANSLIT и РУССКАЯ КЛАВИАТУРА, если не можете писать в русской раскладке :)
Модераторы: Akina, shadeofgray
  
> Очень простой вопрос.
    Может, кто подскажет, как написать прогу, которая выводит все возможные перестановки n элементов массива, с возможностью выдачи запроса на вывод следующей перестановки.
    Заранее благодарен.  
      И очень неконкретный вопрос.
        Решается рекурсией, а код проги на Паскале вроде вот такой:

        Вход: массив р, содержащий элементы любого типа;
             N размер массива р

        ExpandedWrap disabled
          Procedure Reverse(m:integer);<br>var i,j:integer;<br>begin<br>  i:=1;j:=m;<br>  while i<j do<br>    begin<br>      b:=p[i];p[i]:=p[j];p[j]:=b;<br>      i:=i+1;j:=j-1;<br>    end;<br>end;<br>Procedure AntiLex(m:integer);<br>var i:integer;<br>begin<br>  if m=1<br>  then вывод р<br>  else for i:=1 to m do<br>        begin<br>         AntiLex(m-1);<br>         if i<m<br>         then begin<br>               b:=p[i];p[i]:=p[m];p[m]:=b;<br>               Reverse(m-1)<br>              end;<br>        end;<br>end;<br>begin<br>  AntiLex(N);<br>end.

        зы надеюсь, что правильно понял вопрос
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0.1341 ]   [ 15 queries used ]   [ Generated: 6.10.26, 00:56 GMT ]