С помощью подпрограммы преобразовать матрицы A(6,7), B(7,7), C(3,4) таким образом, чтоб нечетные столбцы матриц были упорядочены по возрастанию, а четные по убыванию.элементы исходных матриц вычисляются по формулам — Pascal(Паскаль)

A[ij]=1.5sin(3i)+3cos(1.237j),
B[ij]=(i"в квадрате"-4j-16cos(ij))sin(1.5i),
C[ij]= ie (в степени "sinj")
uses crt;
type matr=array[1..7,1..7] of real;
procedure Sort(var m:matr;x,y:byte);
var i,j,k:byte;
    b:real;
begin
for j:=1 to y do
 begin
  if j mod 2<>0 then
   begin
    for i:=1 to x-1 do
    for k:=i+1 to x do
    if m[i,j]>m[k,j] then
     begin
      b:=m[i,j];
      m[i,j]:=m[k,j];
      m[k,j]:=b;
     end;
   end;
  if j mod 2=0 then
   begin
    for i:=1 to x-1 do
    for k:=i+1 to x do
    if m[i,j]<m[k,j] then
     begin
      b:=m[i,j];
      m[i,j]:=m[k,j];
      m[k,j]:=b;
     end;
   end;
  end;
writeln('Сортировка строк:');
for i:=1 to x do
 begin
  for j:=1 to y do
  write(m[i,j]:6:2);
  writeln;
 end;
end;
var a,b,c:matr;
    i,j:byte;
begin
clrscr;
writeln('Исходная матрица A:');
for i:=1 to 6 do
 begin
  for j:=1 to 7 do
   begin
    a[i,j]:=1.5*sin(3*i)+3*cos(1.237*j);
    write(a[i,j]:6:2);
   end;
  writeln;
 end;
writeln;
Sort(a,6,7);
write('Press Enter...');
readln;
writeln('Исходная матрица B:');
for i:=1 to 7 do
 begin
  for j:=1 to 7 do
   begin
    b[i,j]:=i*i-4*j-16*cos(i*j)*sin(1.5*i);
    write(b[i,j]:6:2);
   end;
  writeln;
 end;
writeln;
Sort(b,7,7);
write('Press Enter...');
readln;
writeln('Исходная матрица C:');
for i:=1 to 3 do
 begin
  for j:=1 to 4 do
   begin
    c[i,j]:=i*exp(sin(j));
    write(c[i,j]:6:2);
   end;
  writeln;
 end;
writeln;
Sort(c,3,4);
write('Press Enter...');
readln
end.

Leave a Comment

10 + = 13