Advertisement
JStefan

[Rekurzija] Ciklichno pomestuvanje

Dec 22nd, 2016
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.66 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void pomesti(int *, int, int, int, int);
  5.  
  6. int main()
  7. {
  8.     int n, k, i;
  9.     scanf("%d %d", &n, &k);
  10.  
  11.     k = k%n;
  12.     int niza[n];
  13.  
  14.     for(i = 0; i < n; ++i) {
  15.         scanf("%d", &niza[i]);
  16.     }
  17.  
  18.     pomesti(niza, n, k, 0, niza[0]);
  19.  
  20.     for(i = 0; i < n; ++i) {
  21.         printf("%d ", niza[i]);
  22.     }
  23.     return 0;
  24. }
  25.  
  26. void pomesti(int arr[], int n, int k, int i, int first) {
  27.     if(k > 0) {
  28.         if(i == n-1) {
  29.             arr[n-1] = first;
  30.             pomesti(arr, n, k-1, 0, arr[0]);
  31.         } else {
  32.             arr[i] = arr[i+1];
  33.             pomesti(arr, n, k, i+1, first);
  34.         }
  35.     }
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement