
Вопрос задан 17.04.2020 в 00:48.
Предмет Информатика.
Спрашивает Kudabayeva Gulnaz.
Написать программу на Паскале, где пиксели рисунка закодированы числами (обозначающими цвет) в виде
матрицы, содержащей 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.
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.


Топ вопросов за вчера в категории Информатика

Информатика 558

Информатика 33

Информатика 74

Информатика 12

Информатика 10

Информатика 33

Информатика 27
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili