Другие языки программирования и технологии

Задача на PascalABC.NET. Помогите с решением, очень прошу!

Дан ПОЧТИ отсортированный массив из n целых чисел. Известно, что в массиве один из элементов нарушает его упорядоченность. Удалите этот элемент.
Бежишь по массиву (до N-1) с условием a[i] >= a[i+1] если сортировка по убыванию, или с условием a[i] <= a[i+1] если по возрастанию. Как только условие не выполняется, смещаешь в цикле (до N-1) все элементы после него на 1 позицию влево (a[i] := a[i+1]) и делаешь длину меньше на единицу.
Павел Гнитецкий
Павел Гнитецкий
54 724
Лучший ответ
ДИМ А (20) АС ИНТЕГЕР

ПРИВАТЕ СУБ ЦОММАНДБУТТОН1_ЦЛИЦК ()
ВХИЛЕ ЛИСТБОХ1.ЛИСТЦОУНТ > 0
ЛИСТБОХ1.РЕМОВЕИТЕМ (0)
ВЕНД
ВХИЛЕ ЛИСТБОХ2.ЛИСТЦОУНТ > 0
ЛИСТБОХ2.РЕМОВЕИТЕМ (0)
ВЕНД
РАНДОМИЗЕ ТИМЕР
И = 1
ВХИЛЕ И <= 20
А (И) = ИНТ (РНД (1) * 100)
И = И + 1
ВЕНД
10 И = 1
Ф = 0
ВХИЛЕ И <= 19
ИФ А (И) < А (И + 1) ТХЕН
К = А (И)
А (И) = А (И + 1)
А (И + 1) = К
Ф = 1
ЕНД ИФ
И = И + 1
ВЕНД
ИФ Ф = 1 ТХЕН ГОТО 10
20 К = ИНТ (РНД (1) * 20)
ИФ (К < 2) ОР (К > 20) ТХЕН ГОТО 20
А (К) = А (1)
И = 1
ВХИЛЕ И <= 20
ЛИСТБОХ1.АДДИТЕМ (А (И))
И = И + 1
ВЕНД
ЕНД СУБ

ПРИВАТЕ СУБ ЦОММАНДБУТТОН2_ЦЛИЦК ()
И = 1
ВХИЛЕ И <= 19
ИФ А (И) < А (И + 1) ТХЕН ИВ = И + 1
И = И + 1
ВЕНД
ДЕБУГ. ПРИНТ ИВ
И = ИВ
ВХИЛЕ И < 20
А (И) = А (И + 1)
И = И + 1
ВЕНД
И = 1
ВХИЛЕ И <= 20
ЛИСТБОХ2.АДДИТЕМ (А (И))
И = И + 1
ВЕНД
ЕНД СУБ