вобщем задан массив и нужно вывести другой массив, который будет являтся первым только со сдвинутыми элементами циклически ВПРАВО . вот текст программы для сдвига ВЛЕВО
что нужно поменять конкретно в ЭТОМ тексте чтобы сдвиг осуществлялся Вправо???
#include <iostream.h>
#include <math.h>
int main() {
int a[30], b[30], i, k, n;
cout << "razmer massiva k=";
cin>>k;
for (i = 0; i < k; i++) {
cout << "a[" << i << "]=";
cin >> a[ i];
}
cout << "chislo sdviga n=";
cin >> n;
n = n % k;
// b циклически сдвинут влево по отношению к a
// for (i = 0; i < k; i++) b[ i] = a[(i + n) % k];
// b циклически сдвинут вправо по отношению к a
for (i = 0; i < k; i++) b[(i + n) % k] = a[ i];
for (i = 0; i < k; i++) cout << "b[" << i << "]=" << b[ i] << endl;
return 0;
}
ЗЫ:
> вот здесь код программы в тексте ...
> массив ,
> ВПРАВО .
У тебя отсутствие каких-либо пробелов между операторами в тексте программы компенсируется тем, что в обычном тексте ты ставишь лишние пробелы перед знаками препинания?
#include <iostream>
#include <ctime>
#include <vector>
using namespace std;
int main()
{
int N,j,n;
srand(time(NULL));
cout << "N=";cin>>N; if(N<1) cerr << "Error!\n",exit(1);
vector<int> a(N),b(N);
for(j=0;j-N;a[j++]=rand() % 10);
cout << "shift('+' - right,'-' - left)=";cin>>n; if(n < -N||n > N) cerr << "Error!\n",exit(1);
for(j=0;j-N;b[j++]=a[(j+n+N)%N]);
for(j=0;j-N;cout << a[j++] << ' '); cout << endl;
for(j=0;j-N;cout << b[j++] << ' '); cout << endl;
return 0;
}
а чтоб поменять в "ЭТОМ" тексте надо его выложить в текстовом виде, а не в виде картинки. За тебя твою неправильную программу никто набирать не будет!