Урок 15. Задача 8.
Primary tabs
Заполнить массив из 9 элементов случайными числами, далее получить случайное число N из диапазона от 1 до 9 и затем "удалить" элемент с позиции N из массива, "сдвинув" значения влево и заполнив все что справа нулями.
Примечание: операции сдвига элементов массива оформите в виде подпрограммы.
type ar = array[1..9] of integer; var i, a : 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 9 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 9 do begin Arr[i] := random(9) + 1; // инициализация массива a := Arr[5]; // захват случайного числа end; Arr := shift(a, Arr); for i := 1 to 9 do // вывод измененного массива write(Arr[i], ' '); readln(); end.
- Log in to post comments
- 1147 reads
vedro-compota
Sat, 06/25/2022 - 20:38
Permalink
function shift(a_1 : integer;
-- зачем здесь массив передается по ссылке?
_____________
матфак вгу и остальная классика =)
Dennis80
Wed, 06/29/2022 - 09:59
Permalink
type ar = array[1..9] of
vedro-compota
Wed, 06/29/2022 - 20:18
Permalink
for i := 1 to 9 do
-- позиция уже известна на момент вызова функции, можно сразу начать сдвигать в цикле, начиная с указанного места
_____________
матфак вгу и остальная классика =)