Урок 15 Задача 9
Primary tabs
Заполнить массив из 9 элементов случайными числами, далее получить случайное число N
из диапазона от 1 до 9 и затем "удалить" элемент с позиции N
из массива, "сдвинув" значения влево и заполнив все что справа нулями.
program u15_z9;
type
myArr1 = array[1..9] of integer;
var i,j,n: integer;
a: myArr1;
min,max: integer;
procedure del();
begin
for i:=low(a) to high(a) do
begin
if i = 9 then
begin
write('|');
write(0);
break;
end;
if (i <> n) and (i < n) then
begin
write('|');
write(a[i]);
end
else if (i >= n) then
write('|',a[i+1]);
end;
end;
begin
randomize();
min := 1;
max := 9;
for i:=low(a) to high(a) do
begin
a[i] := min + random(max - min + 1);
write('|');
write(a[i]);
end;
n:= min + random(max - min + 1);
writeln();
del();
write('|');
readln();
end.- Log in to post comments
- 508 reads
vedro-compota
Mon, 12/30/2024 - 16:17
Permalink
дописал в задачу уточнение:
дописал в задачу уточнение:
Добавьте ниже альтернативное решение.
Также см. видео-разбор добавленный к задаче в уроке
_____________
матфак вгу и остальная классика =)
mrn123
Sun, 01/12/2025 - 15:19
Permalink
program u15z9;
program u15z9; type myArr1 = array[1..9] of integer; myArr2 = array[1..9] of integer; var i,n: integer; a: myArr1; b: myArr2; min,max: integer; procedure del(a:myArr1; n:integer); var i,j:integer; begin; i:=1; j:=0; for i:=low(a) to high(a) do begin j :=j+1; b[j] :=a[i]; if (i >= n) then b[j] :=a[i+1]; if (i = 9) then b[j] :=0; end; end; procedure out(b:myArr2); var j:integer; begin; for j:=low(b) to high(b) do begin write('|'); write(b[j]); end; write('|'); end; begin randomize(); min := 1; max := 9; for i :=low(a) to high(a) do begin a[i] := min + random(max - min + 1); write('|'); write(a[i]); end; write('|'); writeln(); n:= min + random(max - min + 1); write('chislo n = ',n); writeln(); del(a,n); out(b); readln(); end.