Задача 10 Урок 15
Primary tabs
Заполните массив из 5 элементов случайными числами из любого диапазона.
Далее пользователь вводит в цикле значения от 1 до 5 -- удаляйте из массива очередной элемент с позиции очередного введенного пользователем числа, сдвигая оставшиеся элементы массива влево, заполняя то, что справа нулями. Распечатывайте промежуточной состояние массива, после каждого удаления.
Цикл должен работать до тех пор, пока в массиве не останется ненулевых элементов или пока пользователь не введет число большее чем 5 или меньшее чем 1.
type myArr = array[1..5] of integer; procedure writeArr(arr: myArr; msg:string); var i:integer; begin writeln(msg); for i:=low(arr) to high(arr) do write(arr[i], ' '); writeln(); end; var a,b: myArr; i,n: integer; r:integer; begin randomize; for i:=1 to high(a) do a[i]:= random(5); writeArr(a,'original array: '); repeat writeln('vvedite chislo'); readln(r); writeln('chislo',' ', r); for i:=r to high(a) do a[i]:= a[i+1]; a[high(a)]:=0; b:=a; writeArr(b,'array modify: '); until (r>5) or (r<=-1) or (a[1]=0); writeln ('End'); readln(); end.
Вывод консоли:
original array: 4 3 3 0 4 vvedite chislo 1 chislo 1 array modify: 3 3 0 4 0 vvedite chislo 2 chislo 2 array modify: 3 0 4 0 0 vvedite chislo 3 chislo 3 array modify: 3 0 0 0 0 vvedite chislo 1 chislo 1 array modify: 0 0 0 0 0 End
- Log in to post comments
- 100 reads