Разработайте функцию для создания эффекта мозаики. При изображения разбиваются на прямоугольные фрагменты, в каждом из которых выбирается цвет средней точки, и этим же цветом закрашивается весь фрагмент. visual studio c#
Const n=5; var a:array[1..n,1..n] of integer; i,j,amin:integer; begin Randomize; Writeln('Сгенерированный массив'); for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=Random(50)+1; Write(a[i,j]:3) end; Writeln end; amin:=a[4,1]; for j:=2 to n do if amin>a[4,j] then amin:=a[4,j]; for i:=1 to n do a[i,i]:=amin; Writeln('Результирующий массив'); for i:=1 to n do begin for j:=1 to n do Write(a[i,j]:3); Writeln end end.
Pascal const n = 5; var a : array [1..n] of integer; b,m,ib,im : integer; i : integer; k : integer; sr : real; begin a[1] := 5; a[2] := 8; a[3] := 7; a[4] := 6; a[5] := 10;
b := a[1]; m := a[1]; ib := 1; im := 1; for i := 2 to n do if a[i] > b then begin b := a[i]; ib := i; end else if a[i] < m then begin m := a[i]; im := i; end;
sr := 0; k := 0; if ib > im then for i := im +1 to ib -1 do begin sr := sr + a[i]; k := k +1; end else for i := ib +1 to im -1 do begin sr := sr + a[i]; k := k +1; end; sr := sr/k;
writeln (); for i := 1 to n do write (a[i],' '); writeln (); writeln ('sr=',sr:3:3); writeln (); writeln ('max=',b,' index =',ib); writeln ('min=',m,' index =',im); end.
n=5;
var
a:array[1..n,1..n] of integer;
i,j,amin:integer;
begin
Randomize;
Writeln('Сгенерированный массив');
for i:=1 to n do begin
for j:=1 to n do begin
a[i,j]:=Random(50)+1;
Write(a[i,j]:3)
end;
Writeln
end;
amin:=a[4,1];
for j:=2 to n do
if amin>a[4,j] then amin:=a[4,j];
for i:=1 to n do a[i,i]:=amin;
Writeln('Результирующий массив');
for i:=1 to n do begin
for j:=1 to n do Write(a[i,j]:3);
Writeln
end
end.
Тестовое решение:
Сгенерированный массив
14 26 14 37 27
27 24 37 17 38
36 22 41 29 14
13 7 32 42 27
27 28 21 10 26
Результирующий массив
7 26 14 37 27
27 7 37 17 38
36 22 7 29 14
13 7 32 7 27
27 28 21 10 7
const
n = 5;
var
a : array [1..n] of integer;
b,m,ib,im : integer;
i : integer;
k : integer;
sr : real;
begin
a[1] := 5; a[2] := 8;
a[3] := 7; a[4] := 6;
a[5] := 10;
b := a[1]; m := a[1];
ib := 1; im := 1;
for i := 2 to n do
if a[i] > b then
begin
b := a[i];
ib := i;
end
else
if a[i] < m then
begin
m := a[i];
im := i;
end;
sr := 0;
k := 0;
if ib > im then
for i := im +1 to ib -1 do
begin
sr := sr + a[i];
k := k +1;
end
else
for i := ib +1 to im -1 do
begin
sr := sr + a[i];
k := k +1;
end;
sr := sr/k;
writeln ();
for i := 1 to n do
write (a[i],' ');
writeln ();
writeln ('sr=',sr:3:3);
writeln ();
writeln ('max=',b,' index =',ib);
writeln ('min=',m,' index =',im);
end.