Advertisement
BanyRule

Untitled

Sep 23rd, 2016
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.51 KB | None | 0 0
  1. /*Задание 14. Перестановки.*/
  2. #include <stdio.h>
  3.  
  4. int N;
  5. int a[100];
  6.  
  7. void swap(int *i, int *j) {
  8.    int t = *i;
  9.    *i = *j;
  10.    *j = t;
  11. }
  12.  
  13. void generate(int k){
  14.     if(k == N){
  15.         for (int i = 0; i < N; ++i)
  16.             printf("%d ", a[i]);
  17.         putchar('\n'); 
  18.     }
  19.     else{
  20.         for (int j = k; j < N; ++j)
  21.         {
  22.             swap(&a[k], &a[j]);
  23.             generate(k + 1);
  24.             swap(&a[k], &a[j]);
  25.         }
  26.  
  27.     }
  28. }
  29.  
  30.  
  31. int main(void){
  32.     N = 3;
  33.     for (int i = 0; i < N; ++i)
  34.         a[i] = i + 1;
  35.     generate(0);
  36.  
  37.     return 0;
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement