Задача 11 Урок 15
Primary tabs
Заполнить массив из 9 элементов случайными числами из диапазона от нуля до N, и затем удалите из этого массива все элементы равные M причем удаление необходимо производить "сдвигом" влево оставшихся элементов на позиции элементов, совпавших с M.
type myArr = array[1..9] of integer;
procedure writeArr(arr: myArr; msg:string);
var i:integer;
begin
writeln(msg);
for i:=low(arr) to high(arr) do
write(arr[i], ' ');
writeln();
end;
var a,b: myArr;
i,n,c: integer;
min,max,m:integer;
begin
writeln('Vvedite N');
readln(n);
randomize();
min := 1;
max := n;
for i:=low(a) to high(a) do
a[i] := min + random(max - min + 1);
writeArr(a,'original array: ');
repeat
writeln('vvedite chislo');
readln(m);
writeln('chislo',' ', m);
for i:=1 to high(a) do
if a[i]=m then
c:=i;
for i:=c to high(a) do
a[i]:= a[i+1];
a[high(a)]:=0;
b:=a;
writeArr(b,'array modify: ');
until a[1]=0;
writeln ('End');
readln();
end.
Вывод консоли:
Vvedite N 16 original array: 14 14 4 8 13 2 8 9 4 vvedite chislo 14 chislo 14 array modify: 14 4 8 13 2 8 9 4 0 vvedite chislo 14 chislo 14 array modify: 4 8 13 2 8 9 4 0 0 vvedite chislo 4 chislo 4 array modify: 4 8 13 2 8 9 0 0 0 vvedite chislo 8 chislo 8 array modify: 4 8 13 2 9 0 0 0 0 vvedite chislo 13 chislo 13 array modify: 4 8 2 9 0 0 0 0 0 vvedite chislo 4 chislo 4 array modify: 8 2 9 0 0 0 0 0 0 vvedite chislo 8 chislo 8 array modify: 2 9 0 0 0 0 0 0 0 vvedite chislo 2 chislo 2 array modify: 9 0 0 0 0 0 0 0 0 vvedite chislo 9 chislo 9 array modify: 0 0 0 0 0 0 0 0 0 End
- Log in to post comments
- 511 reads