Урок 15. Задача 9.
Primary tabs
Заполните массив из 5 элементов случайными числами из любого диапазона.
Далее пользователь вводит в цикле значения от 1 до 5 -- удаляйте из массива очередной элемент с позиции очередного введенного пользователем числа, сдвигая оставшиеся элементы массива влево, заполняя то, что справа нулями. Распечатывайте промежуточной состояние массива, после каждого удаления.
Цикл должен работать до тех пор, пока в массиве не останется ненулевых элементов или пока пользователь не введет число большее чем 5 или меньшее чем 1.
type ar = array[1..5] of integer;
var i, a, b : integer;
Arr : ar;
function shift(a_1 : integer; var Arr_2 : ar) : ar;
var i : integer;
fl : boolean;
begin
fl := true;
for i := 1 to 5 do
if fl and (a_1 <> i) then // запись массива до числа-ограничителя
Arr_2[i] := Arr_2[i]
else
begin // запись массива после числа-ограничителя
fl := false;
Arr_2[i] := Arr_2[i + 1];
end;
shift := Arr_2;
end;
begin
randomize;
for i := 1 to 5 do
Arr[i] := random(9) + 1; // инициализация массива
while b < 5 do
begin
writeln('Enter an interger (1 - 5) : ');
readln(a);
if (a < 1) or (a > 5) then
break
else
if Arr[a] = 0 then
continue
else
begin
b := b + 1;
Arr := shift(a, Arr);
for i := 1 to 5 do // вывод измененного массива
write(Arr[i], ' ');
end;
end;
readln();
end.
- Log in to post comments
- 524 reads
vedro-compota
Sat, 06/25/2022 - 20:39
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)