Да знаю, что есть в инете, но просто нужно что-то более понятное и хотя бы правильно работающее, можно сделать через вектор
если я все правильно понял #include <iostream> int main() { int k = 5; const int N = 6; int array[N] = { 0,1,2,3,4,5}; if (N < k) { for (int i = 0; i < N; i++) { std::cout << array[i] << std::endl; } return 0; } auto a = array[k-1]; auto b = array[0]; array[k-1] = b; array[0] = a; for (int i = 0; i < N; i++) { std::cout << array[i] << std::endl; } } C #include <iostream> int main() { int k = 5; const int N = 6; int array[N] = { 0,1,2,3,4,5}; if (N < k) { for (int i = 0; i < N; i++) { std::cout << array[i] << std::endl; } return 0; } auto a = array[k-1]; auto b = array[0]; array[k-1] = b; array[0] = a; for (int i = 0; i < N; i++) { std::cout << array[i] << std::endl; } }