Задача 9 Урок 15
Primary tabs
Заполните массив из 5 элементов случайными числами из любого диапазона.
Далее пользователь вводит в цикле значения от 1 до 5 -- удаляйте из массива очередной элемент с позиции очередного введенного пользователем числа, сдвигая оставшиеся элементы второго массива влево, заполняя то, что справа нулями. Распечатывайте промежуточной состояние массива, после каждого удаления.Цикл должен работать до тех пор, пока в массиве не останется ненулевых элементов или пока пользователь не введет число большее чем 5 или меньшее чем 1.
Например: |1|3|7|5|4| // исходный массив 3 // ввод пользователя |1|3|5|4|0| // промежуточный результат 3 // ввод пользователя |1|3|4|0|0| // промежуточный результат 2 // ввод пользователя |1|4|0|0|0| // промежуточный результат 1 // ввод пользователя |4|0|0|0|0| // промежуточный результат 1 // ввод пользователя |0|0|0|0|0| // промежуточный результат // Cообщение о завершении, т.к. все элементы удалены-- в данном случае программа завершилась, так как удалены все элементы.
Если бы пользователь ввел число 10 или -5 - то это тоже была бы ситуация для завершения, но элементы в массиве ещё бы остались.
var a : array [1..5] of integer; i,i1,n: integer; procedure arr(b:integer); var n1: integer; begin for i:= low(a[b]) to high(a) do begin n1:=b+1; a[b]:=a[n1]; b:=b+1; if(i=5) then a[5]:=0; end; end; begin randomize(); for i:= low(a) to high(a) do begin a[i]:=random(50); write(a[i], '|'); //первый вывод масива после заполнения end; writeln(); for i1:= 1 to 5 do begin writeln('vvedite chislo ot 1 do 5:'); readln(n); if(n>0) and (n<6)then // проверка большее чем 5 или меньшее чем 1 begin arr(n); for i:= low(a) to high(a) do write(a[i], '|'); writeln(); if(a[1]=0) then // проверка на пустой масив begin write('vse pusto'); break; end; end else begin write('poka!'); break; end; end; readln(); end.
27|29|35|42|30| vvedite chislo ot 1 do 5: 5 27|29|35|42|0| vvedite chislo ot 1 do 5: 1 29|35|42|0|0| vvedite chislo ot 1 do 5: 3 29|35|0|0|0| vvedite chislo ot 1 do 5: 2 29|0|0|0|0| vvedite chislo ot 1 do 5: 1 0|0|0|0|0| vse pusto
- Log in to post comments
- 2356 reads
vedro-compota
Wed, 10/13/2021 - 20:19
Permalink
разбить на подпрограммы
разбить на подпрограммы
_____________
матфак вгу и остальная классика =)
Djos
Fri, 10/15/2021 - 09:35
Permalink
var a : array [1..5] of
vedro-compota
Sun, 10/17/2021 - 12:53
Permalink
уйти от использования
уйти от использования глобальных переменных
_____________
матфак вгу и остальная классика =)
Djos
Sun, 10/17/2021 - 21:31
Permalink
type marr = array[1..5] of