Задача 8 Урок 15
Primary tabs
Задача 8 Урок 15Заполнить массив из 9 элементов случайными числами, далее получить случайное число N из диапазона от 1 до 9 и затем "удалить" элемент с позиции N из массива, "сдвинув" значения влево и заполнив все что справа нулями.
Например:
|1|3|4|5|4|7|-8|-9|
Путь n=2, тогда после работы программы мы должны получить:
|1|4|5|4|7|-8|-9|0|
Примечание: операции сдвига элементов массива оформите в виде подпрограммы.
type arr = array [1..9] of integer; var a: arr; N, min, max, i: integer; procedure shift(var mas: arr; j, a: integer); begin for j:= a to high(mas) do mas[j]:= mas[j + 1]; end; begin min:= -50; max:= 50; randomize(); //заполнение массива a for i:= low(a) to high(a) do begin a[i]:= min + random(max - min + 1); end; //вывод массива a for i:= low(a) to high(a) do writeln('Element ', i, '= ', a[i], ' '); N:= random(9) + 1;//случайное число от 1 до 9 writeln('N = ', N); a[N]:= 0; shift(a, i, N);// процедура сдвига массив //вывод измененного массива a for i:= low(a) to high(a) do writeln('Element ', i, '= ', a[i], ' '); readln(); end.
- Log in to post comments
- 1418 reads
vedro-compota
Sun, 09/05/2021 - 12:58
Permalink
procedure shift(var mas: arr;
-- перебор выходит за пределы массива
_____________
матфак вгу и остальная классика =)
alterMann
Tue, 09/07/2021 - 20:03
Permalink
Изменил процедуру
vedro-compota
Wed, 09/08/2021 - 19:54
Permalink
решение засчитано
решение засчитано
_____________
матфак вгу и остальная классика =)