Написать программу на Паскале, где пиксели рисунка закодированы числами (обозначающими цвет) в виде матрицы, содержащей N строк и M столбцов. Выполните отражение рисунка сверху вниз:

Написать программу на Паскале, где пиксели рисунка закодированы числами (обозначающими цвет) в виде матрицы, содержащей N строк и M столбцов. Выполните отражение рисунка сверху вниз:
Гость
Ответ(ы) на вопрос:
Гость
//PascalABC.NET 3.1 сборка 1219 procedure PrintMatrix(a: array[,] of integer); begin     for var i := a.GetLowerBound(0) to a.GetUpperBound(0) do     begin         writeln;         for var j := a.GetLowerBound(1) to a.GetUpperBound(1) do             write(a[i, j], ' ');     end;     writeln; end; begin     var a := MatrixRandom(ReadInteger('n ='), ReadInteger('m ='), 0, 255);     PrintMatrix(a);          for var i := a.GetLowerBound(0) to (a.GetUpperBound(0) div 2) do         for var j := a.GetLowerBound(1) to a.GetUpperBound(1) do             swap(a[i, j], a[a.GetLowerBound(0) + a.GetUpperBound(0) - i, j]);                  PrintMatrix(a); end.
Гость
Выделить код1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 uses   graphABC; const   n=100;   m=115; var   a:array[1..n,1..m] of integer;   x,i,j:integer; begin   randomize;   setbrushcolor(clAqua);   rectangle(0,0,windowwidth,windowheight);   for i:=1 to n do     for j:=1 to m do       begin           a[i,j]:=(i*j)*n;       end;   for i:=1 to n do     for j:=1 to m do       setpixel(j+150,i+150,a[i,j]);   for i:=1 to n div 2 do     for j:=1 to m do       begin         x:=a[i,j];         a[i,j]:=a[n-i+1,m-j+1];         a[n-i+1,m-j+1]:=x;       end;   {если матрица нечетная, переставим элементы  средней строки}   if odd(n) then     for i:=1 to n div 2 do       begin         x:=a[n div 2+1,i];         a[n div 2+1,i]:=a[n div 2+1,n-i+1];         a[n div 2+1,n-i+1]:=x;       end;   for i:=1 to n do     for j:=1 to m do       setpixel(j+350,i+150,a[i,j]); end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы