Задача 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
- 591 reads