Исправить программу, что бы она мне выдавала результат условие: яркости пикселей рисунка закодированы числами от 0 до 255 в виде матрицы. преобразовать рисунок в чёрно-белый по следующему алгоритму: 1) вычислить среднюю яркость пикселей по всему рисунку 2) все пиксели, яркость которых меньше средней, сделать чёрными, (записать код 0), а остальные - белыми (код 255) program lyly; const n=4; var a: array[1..n,1..n] of integer; i,j,s: integer; sr: real; begin for i: =1 to n do begin for j: =1 to n do begin a[i,j]: = random (256); write (a[i,j]: 5); end; writeln end; begin s: =0; s: =s+a[i,j]; sr: =s/(n*n); writeln; writeln('средняя яркость',sr); end; begin writeln; writeln ('результат: '); if a[i,j] a[i,j]: =255; end; end.

любаня20 любаня20    3   13.06.2019 00:40    3

Ответы
RichiMcRothschild RichiMcRothschild  02.10.2020 00:51
Program lyly;

const
  n = 4;

var
  a: array[1..n, 1..n] of integer;
  i, j, s: integer;
  sr: real;

begin
  s := 0;
  Writeln('Исходная матрица');
  for i := 1 to n do
  begin
    for j := 1 to n do
    begin
      a[i, j] := Random(256);
      Write(a[i, j]:5);
      s := s + a[i, j]
    end;
    Writeln
  end;
  sr := s / sqr(n);
  Writeln('Средняя яркость', sr);
  Writeln('Результирующая матрица');
  for i := 1 to n do
  begin
    for j := 1 to n do
    begin
      if a[i, j] <= sr then a[i, j] := 0 else a[i, j] := 255;
      Write(a[i, j]:5)
    end;
    Writeln
  end
end.

Тестовое решение:

Исходная матрица
  108  247    9  175
   10   80  123   80
   75  165   82  128
  167  168    6   27
Средняя яркость103.125
Результирующая матрица
  255  255    0  255
    0    0  255    0
    0  255    0  255
  255  255    0    0
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика