43. Сдвиги
Теория
Задача
Сдвинуть все элементы массива на одну позицию влево (циклически). Вывести полученный массив на экран. Первый элемент должен оказаться на месте последнего. Перестановка элементов в парах не считается верным решением (потому что неэффективно).
public class Main {
public static void main(String[] args) {
// исходный массив
int[] arr = new int[]{-96, 41, -58, 18, -99, 54, -37, 21, -89, 45, -29};
// сохраняем первый элемент массива во временную переменную
int tmp = arr[0];
// перебираем индексы от первого до предпоследнего
for (int i = 0; i < arr.length - 1; i++)
// сдвигаем значение (i+1)-го элемента к i-му
arr[i] = arr[i + 1];
// выводим значения масисва до заполнения последнего элемента
// в решении задачи этот цикл нужно удалить
// он нам нужен для самоконтроля
for (int i = 0; i < arr.length; i++)
System.out.print(arr[i] + " ");
// сохраняем временную переменную в последний элемент массива
arr[arr.length - 1] = tmp;
for (int i = 0; i < arr.length; i++)
System.out.print(arr[i] + " ");
}
}
Задание
Массив arr
уже объявлен, вам нужно написать только команды,
обрабатывающие его значения, т.е. только часть тела метода main()
.
Вывод значений массива система выполнит за вас
- Сдвинуть все элементы массива на одну позицию влево (циклически). Вывести полученный массив на экран. Первый элемент должен оказаться на месте последнего.
- Сдвинуть все элементы массива на одну позицию вправо (циклически). Вывести полученный массив на экран. Последний элемент должен оказаться на месте первого.
- С клавиатуры вводится натуральное число , меньшее длины массива.
Пусть
arr
уже задан. Сдвинуть все элементы массива на позиций влево (циклически). Каждый элемент нужно переставлять не более двух раз. - С клавиатуры вводится натуральное число , меньшее длины массива.
Пусть
arr
уже задан. Сдвинуть все элементы массива на позиций вправо (циклически). Каждый элемент нужно переставлять не более двух раз. - Дано число и чисел. Каждое число означает сдвиг массива. Положительные соответствуют сдвигу вправо, отрицательные - влево. Требуется написать программу, которая выполнит все требуемые сдвиги.
- Поместить все чётные элементы в начало массива, а нечётные - в конец
- Переставить элементы массива с сохранением порядка внутри групп так, чтобы сначала были выведены все элементы, сравнимые с нулём по модулю семь, потом с единицей и т.д.