Сформировать новый массив из элементов, кратных заданному числу и расставить его элементы в обратном порядке — Pascal(Паскаль)

program zadacha7;
uses crt;
type mass=array[1..50] of integer;
procedure p1(var n:integer;var x:mass);
var i:integer;
begin
write('Введите количество элементов массива n=');
readln(n);
writeln('Исходный массив:');
for i:=1 to n do
 begin
   x[i]:=random(10)+1;
   write(x[i],' ');
 end;
writeln;
end;
procedure p2(n:integer; x:mass;var yy:mass;var j:integer;y:integer);
var i:integer;
begin
write('Введите заданное число y=');
readln(y);
writeln('Кратные',y);
j:=0;
for i:=1 to n do
if x[i] mod y = 0 then
  begin
   j:=j+1;
   yy[j]:=x[i];
   write(yy[j],' ');
  end;
writeln;
end;
procedure p3(j:integer;var yy:mass);
var i,b:integer;
begin
writeln('Сформированный массив');
for i:=1 to j div 2 do
 begin
  b:=yy[i];
  yy[i]:=yy[j-i+1];
  yy[j-i+1]:=b;
 end;
for i:=1 to j do
write(yy[i],' ');
end;
var a,b:mass;
    n,m,k:integer;
begin
clrscr;
randomize;
p1(n,a);
p2(n,a,b,m,k);
p3(m,b);
readln
end.

Вариант 2

program zadacha7;
uses crt;
type mass=array[1..50] of integer;
var x,yy:mass; i,n,y,j,k:integer;
 
 
procedure p1(var n:integer; var x:mass);
          begin
          write('ўўҐ¤ЁвҐ Є®«ЁзҐбвў® н«Ґ¬Ґ®в®ў ¬*ббЁў* n=');
          readln(n);
          for i:=1 to n do
          begin
          x[i]:=random(10)+1;
          write(x[i],' ');
          end;
          end;
procedure p2(n:integer; x:mass; var yy:mass; y:integer);
          begin
          k:=0;
               write('‚ўҐ¤ЁвҐ §*¤***®Ґ зЁб«® y=');
               readln(y);
               writeln('Єа*в*лҐ y');
               j:=0;
               for i:=1 to n do
               if x[i] mod y = 0 then
                  begin
                  k:=k+1;
                  yy[k]:=x[i];
                  write(yy[k],' ');
                  end;
                  end;
 
procedure p3(n:integer; x:mass; var yy:mass; k:integer);
          var jj:integer;
          begin
          writeln('new massiv');
          i:=1;
          repeat
           jj:=yy[k-i+1];
           yy[k-i+1]:=yy[i];
           yy[i]:=jj;
 
           i:=i+1;
          until(i>k-i+1);
          for i:=1 to k do
           write(yy[i],' ');
          end;
 
 
 
 
begin
clrscr;
randomize;
p1(n,x);
p2(n,x,yy,y);
p3(n,x,yy,k);
readln
end.

Leave a Comment

30 − = 29