МНОГО ПАСКАЛЬ
Напишите программу, которая выполняет циклический сдвиг элементов массива влево на R элементов.
Входные данные
Первая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 0 < N ≤ 10000 . В третьей строке записано число R ( 0 ≤ R ≤ N ).
Выходные данные
Программа должна вывести в одну строчку все элементы получившегося массива, разделив их пробелами.
Примеры
входные данные
6
1 2 3 4 5 6
2
выходные данные
3 4 5 6 1 2
Действие книг происходит на фантастической планете. Планета эта, как понятно из названия, плоская и имеет форму диска. В этом мире свои законы физики: свет здесь движется медленно, магия материальна, а в радуге восемь цветов. В этом мире возможно всё; то, что мы считаем мифами, там — правда. Плоский мир покоится на спинах четырёх слонов, которых держит гигантская черепаха Великий А’Туин, плывущая сквозь космическое пространство.
Плоский мир населен различными расами: тролли, гномы, эльфы, големы, вампиры, оборотни, зомби — все они не просто сосуществуют в этом мире, но и борются за свои права и равенство при приеме на работу.
Книги о Плоском мире можно условно разделить на несколько подциклов, каждый из которых имеет своих героев и место действия (при этом они могут пересекаться). Герои основных подциклов:
I. Ринсвинд — «Волшебник», выпускник Незримого Университета, абсолютно не к магии по мнению преподавателей Незримого Университета и величайший волшебник Плоского мира по факту: он мир. Владелец Сундука.
II. Ланкрские Ведьмы. Самые известные представительницы — матушка Ветровоск, сильнейшая ведьма Диска, и нянюшка Ягг, автор «Песни про ёжика». Их магия — особая, иная, чем у волшебников: чтобы зажечь огонь, ведьма долго и пристально смотрит на бревно, пока бревно не сгорит со стыда.
III. Смерть — антро сущность мужского рода (скелет с косой на белом коне)
IV. Городская стража — охраняет порядок Анк-Морпорка, самого большого города Плоского Мира.
V. Тиффани Болит — героиня «детского» подцикла, юная ведьма из Мела.
VI. Мойст фон Липвиг — герой одного из городских подциклов, авантюрист, принятый на государственную службу Анк-Морпорка.
Книги серии «Плоский мир» завоевали громадную популярность благодаря тонкому юмору и глубокой, но ненавязчивой философии.
(на основе статьи из энциклопедии)
#include <iostream>
#include <iomanip>
int main()
{
using namespace std;
//исходная последовательность
const int N = 8;
double Arr[N] = { 14.2, -3.4, 7.8, -3.1, 8.2, 98.22, -7, 12 };
//вывод на экран исходной последовательности
for (int i = 0; i < N; ++i)
cout << Arr[i] << " ";
cout << endl;
//подсчитаем количества отрицательных и неотрицательных элементов
int kpos = 0;
int kneg = 0;
for (int i = 0; i < N; ++i)
if (Arr[i] < 0)
++kneg;
else
++kpos;
//создадим массивы отрицательных и неотрицательных элементов
double * ArrNeg = new double[kneg];
double * ArrPos = new double[kpos];
int kn = 0, kp = 0;
for (int i = 0; i < N; i++)
if (Arr[i] < 0)
ArrNeg[kn++] = Arr[i];
else
ArrPos[kp++] = Arr[i];
cout << "Enter a, b, c or d: ";
char ch;
cin >> ch;
if (ch == 'a' || ch == 'b' || ch == 'c' || ch == 'd')
{
switch (ch)
{
//пункт а)
case 'a':
for (int i = 0; i < kneg; ++i)
Arr[i] = ArrNeg[i];
for (int i = 0; i < kpos; ++i)
Arr[i + kneg] = ArrPos[i];
break;
//пункт б)
case 'b':
for (int i = 0; i < kneg; ++i)
Arr[i] = ArrNeg[--kn];
for (int i = 0; i < kpos; ++i)
Arr[i + kneg] = ArrPos[i];
break;
//пункт в)
case 'c':
for (int i = 0; i < kneg; ++i)
Arr[i] = ArrNeg[i];
for (int i = 0; i < kpos; ++i)
Arr[i + kneg] = ArrPos[--kp];
break;
//пункт г)
case 'd':
for (int i = 0; i < kneg; ++i)
Arr[i] = ArrNeg[--kn];
for (int i = 0; i < kpos; ++i)
Arr[i + kneg] = ArrPos[--kp];
break;
}
}
else
cout << "You entered wrong symbol\n";
for (int i = 0; i < N; ++i)
cout << Arr[i] << " ";
cout << endl;
delete[] ArrNeg;
delete[] ArrPos;
return 0;
}