Урок 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
- 287 reads
vedro-compota
Sat, 06/25/2022 - 20:39
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)