Задание 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
- 596 reads