👤
a fost răspuns

Permutarea vectorului cu p pozitii spre stanga/dreapta

Răspuns :

#include <iostream>
using namespace std;
int n, p, v[100], a[100], c;
int main ()

   cin >> n >> p >> c;   // c primeste valoarea 1 pentru stanga si 2 pentru //dreapta
   for (int i = 1; i <= n; ++i)
   {
     cin >> v[i];
     a[i] = v[i];
   }
   
   if (c == 1)
      for (int i = 1; i <= n; ++i)
      {
          int x = (i + p) % n;
          if (x == 0) x = n;
          v[i] = a[x];
       }
   
    else
       for (int i = 1; i <= n; ++i)
       {
          int x = i - p;
          if (x <= 0) x += n;
          v[i] = a[x];
        }
 
     for (int i = 1; i <= n; ++i)
         cout << v[i] << " ";
     
    return 0;
}