Как сделать правильно по цикл? - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, имеется код, который удаляет по выбору число из массива:
Как вписать цикл until repeat( когда нужно вводить del), чтобы повторяло до тех пор, пока не ввести истинное число для удаления из списка массива

Решение задачи: «Как сделать правильно по цикл?»

textual
Листинг программы
const n=10;
var v:array[1..n] of byte;
    del,i,j,actual:byte;
begin
randomize;
for i:=1 to n do
 begin
  v[i]:=random(100);
  write(v[i]:3);
 end;
writeln;
repeat
write('Введите число  для удаления: ');
readln(del);
i:=1;
while(i<=n)and(v[i]<>del) do inc(i);
if i>n then writeln('Числа ',del,' в массиве нет');
until i<=n;
actual:=n;
for j:=i to n-1 do
v[j]:=v[j+1];//сдвиг справа налево
actual:=actual-1;
for i:=1 to actual do
write(v[i]:3);
end.

Объяснение кода листинга программы

  1. Объявлены константа n равная 10 и переменная v типа массив из 10 элементов типа byte.
  2. Также объявлены переменные del, i, j и actual типа byte.
  3. В цикле for заполняются все элементы массива v случайными числами от 0 до 99 и выводятся на экран.
  4. После этого пользователю предлагается ввести число для удаления, начиная с первого элемента.
  5. В цикле while проверяется, есть ли введенное число в массиве. Если его там нет, выводится сообщение об этом.
  6. Когда число найдено, с помощью двух вложенных циклов for происходит перестановка элементов массива, начиная с элемента после искомого.
  7. В конце выводятся на экран элементы массива, начиная с первого и до последнего, пропуская один элемент (искомое число).

Оцени полезность:

15   голосов , оценка 3.733 из 5