Задача 9 Урок 15
Primary tabs
Заполнить массив из 9 элементов случайными числами, далее получить случайное число N
из диапазона от 1 до 9 и затем "удалить" элемент с позиции N
из массива, "сдвинув" значения влево и заполнив все что справа нулями.
Например:|1|3|4|5|4|7|-8|-9|
Пусть n=2, тогда после работы программы мы должны получить:
|1|4|5|4|7|-8|-9|0|
Примечание: операции сдвига элементов массива оформите в виде подпрограммы.
type
myArr1 = array[1..9] of integer;
var
a: myArr1;
min, max, i, n : integer;
procedure sdvig(var a : myArr1; n : integer);
var i : integer;
begin
writeln('До операции a[n] = ', a[n]);
for i := n to high(a) do
begin
a[n] := a[n+1];
n += 1;
end;
end;
begin
randomize();
min := 1;
max := 9;
for i:=low(a) to high(a) do
a[i] := min + random(max - min + 1);
n := min + random(max - min + 1);
writeln('n = ', n);
write('Числа массива a до операции: ');
for i := low(a) to high(a) do
write(a[i], ' ');
writeln;
sdvig(a, n);
write('Числа массива a после операции: ');
for i := low(a) to high(a) do
write(a[i], ' ');
readln();readln();
end. - Log in to post comments
- 1405 reads
vedro-compota
Thu, 06/15/2023 - 23:47
Permalink
здесь разве есть заполнение
здесь разве есть заполнение нулями?
Процедуру надо доработать, по факту тут происходит выход за пределы массива
_____________
матфак вгу и остальная классика =)
piliugin
Wed, 06/21/2023 - 17:36
Permalink
Исправленное. С заполнением
type myArr1 = array[1..9] of integer; var a: myArr1; min, max, i, n : integer; procedure sdvig(var a : myArr1; n : integer); var i : integer; begin writeln('До операции a[n] = ', a[n]); for i := n to (high(a) - 1) do begin a[n] := a[n+1]; n += 1; end; a[high(a)] := 0; end; begin randomize(); min := 1; max := 9; for i:=low(a) to high(a) do a[i] := min + random(max - min + 1); n := min + random(max - min + 1); writeln('n = ', n); write('Числа массива a до операции: '); for i := low(a) to high(a) do write(a[i], ' '); writeln; sdvig(a, n); write('Числа массива a после операции: '); for i := low(a) to high(a) do write(a[i], ' '); readln();readln(); end.vedro-compota
Mon, 07/03/2023 - 20:04
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)