Цитата:
Сообщение от nice5531
3. Удалите строку, в которой находится элемент, кратный 3
|
Код:
const nmax=20;
Type myarray=array [1..nmax]of integer;
Procedure init2(var n1:integer;var x:myarray);
var i:integer;
begin
repeat
write('Размер массива до ',nmax,' n=');
readln(n1);
until n1 in [1..nmax];
for i:=1 to n1 do
x[i]:=random(10);
end;
Procedure print1(n1:integer;x:myarray);
var i:integer;
begin
for i:=1 to n1 do
write(x[i]:3);
writeln;
end;
Procedure Delete(var n1:Integer;Var m:myarray);
Var i,j:Integer;
Begin
i:=1;
while i<=n1 do
if m[i] mod 3=0 then
begin
if i=n1 then n1:=n1-1
else
begin
for j:=i to n1-1 do
m[j]:=m[j+1];
n1:=n1-1;
end;
end
else i:=i+1;
end;
var a:myarray;
n:integer;
Begin
Randomize;
Init2(n,A);
writeln('Исходный массив');
Print1(n,A);
Delete(n,a);
writeln('Удаление кратных 3');
print1(n,a);
end.