Permutarea vectorului cu p pozitii spre stanga/dreapta
ZUMAA:
permutare circulara si in c++ daca se poate
Răspunsuri la întrebare
Răspuns de
28
#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;
}
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;
}
Alte întrebări interesante
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Istorie,
9 ani în urmă
Matematică,
9 ani în urmă
Fizică,
9 ani în urmă