Задание 9 Урок 15. Одномерные массивы
Primary tabs
{15 - 9 Заполните массив из 5 элементов случайными числами из любого диапазона.
Далее пользователь вводит в цикле значения от 1 до 5 --
удаляйте из массива очередной элемент с позиции очередного введенного пользователем числа,
сдвигая оставшиеся элементы второго массива влево, заполняя то, что справа нулями.
Распечатывайте промежуточной состояние массива, после каждого удаления.Цикл должен работать до тех пор, пока в массиве не останется ненулевых элементов
или пока пользователь не введет число большее чем 5 или меньшее чем 1. }
type myArr = array[1..5] of integer;
function arrMod(arr: myArr; n: integer):myArr;
var i:integer;
begin
for i:=n to high(arr) do
arr[i]:= arr[i+1];
arr[high(arr)]:=0;
result:=arr;
end;
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: myArr;
i,n: integer;
begin
randomize;
for i:=low(a) to high(a) do
a[i]:= random(88);
writeArr(a,'original array: ');
while (a[low(a)] <> 0) do
begin
writeln('write 1 < your num < 5');
readln(n);
if (n <=5 ) and (n >= 1) then
begin
a:=arrMod(a,n);
writeArr(a,'array modify: ');
end
else
begin
writeln('incorrect num');
break;
end;
end;
writeln('over');
readln();
end.//original array: //86 54 21 42 51 //write 1 < your num < 5 //3 //array modify: //86 54 42 51 0 //write 1 < your num < 5 //4 //array modify: //86 54 42 0 0 //write 1 < your num < 5 //4 //array modify: //86 54 42 0 0 //write 1 < your num < 5 //1 //array modify: //54 42 0 0 0 //write 1 < your num < 5 //1 //array modify: //42 0 0 0 0 //write 1 < your num < 5 //1 //array modify: //0 0 0 0 0 //over
- Log in to post comments
- 719 reads