/* package whatever; // don't place package name! */
import java.io.PrintStream;
import java.nio.charset.StandardCharsets;
import java.util.Random;
import java.util.Scanner;
class DeleteArray {
static final int N = 10;
public static void main
(String[] args
) { Scanner scan
= new Scanner
(System.
in); // вывод в UTF-8:
ps.println("Границы массива:");
int low = scan.nextInt();
int high = scan.nextInt();
assert (low != high); // проверка параметров!!
if (low > high) { // <- для "чайников"
int tmp = low;
low = high;
high = tmp;
}
// генерируем "массив":
int[] arr = new int[N];
for (int i = 0; i < arr.length; i++) {
// arr(i) := случайное число в [low - high]
arr[i] = rand.nextInt(high - low) + low;
// ... и вывод:
ps.format("%d ", arr[i]);
}
ps.println();
ps.println("Удалить элементы в интервале:");
low = scan.nextInt();
high = scan.nextInt();
// тоже самое:
if (low > high) { // <- для "чайников"
int tmp = low;
low = high;
high = tmp;
}
// инициализация:
int m = N; // "размерность массива", изначально: N
int i = 0; // "курсор"
while (i < m) {// В цикле перебираем элементы массива, начиная с первого.
if (arr[i] <= high && arr[i] >= low) { // При обнаружении элемента, принадлежащего удаляемому интервалу:
// размерность массива уменьшаем на единицу:
m -= 1;
// остальную (правую) часть массива сдвигаем на одну ячейку в лево
for (int j = i; j < m; j++) {
arr[j] = arr[j + 1];
}
} else { // При "не-обнаружении", просто двигаем курсор:
i++;
}
}
// следует заполнить конец массива нулями от элемента с индексом на единицу больше новой размерности массива до количества элементов в «старом» массиве:
for (i = m; i < N; i++) {
arr[i] = 0;
}
// вывод:
for (i = 0; i < N; i++) {
ps.format("%d ", arr[i]);
}
ps.println();
//
}
}