Другие языки программирования и технологии
Задача на PascalABC.NET. Помогите с решением, очень прошу!
Дан ПОЧТИ отсортированный массив из n целых чисел. Известно, что в массиве один из элементов нарушает его упорядоченность. Удалите этот элемент.
Бежишь по массиву (до N-1) с условием a[i] >= a[i+1] если сортировка по убыванию, или с условием a[i] <= a[i+1] если по возрастанию. Как только условие не выполняется, смещаешь в цикле (до N-1) все элементы после него на 1 позицию влево (a[i] := a[i+1]) и делаешь длину меньше на единицу.
ДИМ А (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
ВЕНД
ЕНД СУБ
ПРИВАТЕ СУБ ЦОММАНДБУТТОН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
ВЕНД
ЕНД СУБ
Похожие вопросы
- Пожалуйста! Помогите я вас очень прошу! Где скачать виртуал дуб последнюю версию.
- Нужна очень задача решеная по паскалю! PascalABC.NET
- Как создать компьютерного червя на PascalABC.NET и на других языках программирования или опишите структуру червя.
- PascalABC.NET Графика и анимация простейший уровень, не хочет выполняться процедура, (помогите новичку)
- Простая школьная задача в PascalABC
- Помогите с задачей по PascalABC!
- Помогите с задачей по PascalABC.
- PascalABC.NET Графика, движение объекта после нажатия клавиши
- чем отличается Delphi 7 от PascalABC.net ???
- Хочу задать вопрос по множествам PascalABC.NET