Как сдвинуть массив влево?
Есть функция сдвига массива на 6 позиций вправо, а как изменить именно этот цикл чтобы сдвиг был влево?
int numbersShifting(int* arr, int size) {
int temp;
for (int i = 0; i < 6; ++i) {
temp = arr[size - 1];
for (int j = size - 2; j >= 0; --j) {
arr[j + 1] = arr[j];
}
arr[0] = temp;
}
}
Ответы (2 шт):
Автор решения: Harry
→ Ссылка
OK, вот вам сдвиг на 6 позиций влево (только для size >= 6):
void numbersShifting(int* arr, int size) {
int temp;
for (int i = 0; i < size-6; ++i) {
temp = arr[size - 1];
for (int j = size - 2; j >= 0; --j) {
arr[j + 1] = arr[j];
}
arr[0] = temp;
}
}
Автор решения: Д--
→ Ссылка
int numbersShifting(int* arr, int size) {
int temp;
for (int i = 0; i < 6; ++i) {
temp = arr[0];
for (int j = 1; j < size-1; ++j) {
arr[j] = arr[j + 1];
}
arr[size-1] = temp;
}
}