
Составьте код на C++Сдвиньте массив вправо на N шагов


Ответы на вопрос

#include <iostream.h>
#include <iomanip.h>
#include <math.h>
int main()
{
int a[10], k,n,i,j;
cout<<"Vvedite k:"<<endl;
cin>>k;
cout<<"Vvedite elementy:"<<endl;
for(i=0;i<k; i++)
cin>>a[i];
cout<<"Vvedite n:"<<endl;
cin>>n;
for(i=n-1;i>0;i--)
{
j=a[i];
a[i]=a[i-1];
a[i-1]=j;
}
for(i=0;i<k;i++)
cout<<"Result"<<a[i]<<endl;
return 0;
}



Вы можете сдвинуть массив вправо на N шагов в C++ следующим образом, используя временный массив для выполнения сдвига:
cpp#include <iostream>
void shiftRight(int arr[], int size, int N) {
N = N % size; // Обработка случая, если N больше размера массива
int temp[N];
// Копируем последние N элементов во временный массив
for (int i = size - N, j = 0; i < size; ++i, ++j) {
temp[j] = arr[i];
}
// Сдвигаем элементы вправо
for (int i = size - 1; i >= N; --i) {
arr[i] = arr[i - N];
}
// Копируем элементы из временного массива в начало
for (int i = 0; i < N; ++i) {
arr[i] = temp[i];
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
int N = 2; // Количество шагов сдвига
shiftRight(arr, size, N);
std::cout << "Массив после сдвига вправо на " << N << " шагов: ";
for (int i = 0; i < size; ++i) {
std::cout << arr[i] << " ";
}
return 0;
}
Этот код сначала копирует последние N элементов во временный массив, затем сдвигает элементы вправо в исходном массиве и, наконец, копирует элементы из временного массива обратно в начало исходного массива. Это позволяет выполнить сдвиг на N шагов вправо для массива любого размера и любого значения N.


Похожие вопросы
Топ вопросов за вчера в категории Информатика








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili