Сканируется цветное изображение размером 38,1×38,1 см. Разрешающая сканера — 600×1200 dpi, глубина цвета — 8 бита. Какой информационный объём будет иметь полученный графический файл? (в байтах)
1) хотя не понятно зачем изобретать велосипед function max(a, b: integer): integer; begin max := a; if b > a then max := b; end;
begin var a:=ReadInteger('a ='); var b:=ReadInteger('b ='); writeln(max(a, 2 * b) * max(2 * a - b, b)); end. 2) const handfree = false;
begin var a:= new integer[ReadInteger('n =')]; if handfree then a := ArrRandomInteger(a.Length, -50, 50) else a := ReadArrInteger(a.Length);
writeln('Array:'); a.Println; writeln('Sum of odds by value = ', a.Where(x -> x mod 2 = 0).Sum); writeln('Sum of odds by position = ', a.Slice(0, 2).Sum); end. 3) const n = 5; m = 6; handsfree = false;
begin var a := new integer[n, m]; writeln('Данные матрицы:'); for var i := a.GetLowerBound(0) to a.GetUpperBound(0) do begin for var j := a.GetLowerBound(1) to a.GetUpperBound(1) do if handsfree then begin a[i, j] := random(-50, 50); write(a[i, j]:4, ' ') end else read(a[i, j]); writeln; end;
writeln('Вывод:'); for var i := a.GetLowerBound(0) to a.GetUpperBound(0) do begin for var j := a.GetLowerBound(1) to a.GetUpperBound(1) do begin if a[i, j] < 0 then a[i, j] := 0; write(a[i, j]:4, ' '); end; writeln; end; end.
Можно воспользоваться преимуществами, которые дает Pascal 3.1 и программа будет достаточно короткой.
// PascalABC.NET 3.1, сборка 1250 от 28.05.2016 begin var m:=ReadInteger('m='); var c:=MatrixRandom(m,m,10,99); var d:=new Dictionary<integer,integer>; for var i:=0 to m-1 do begin for var j:=0 to m-1 do Print(c[i,j]); Println; end; foreach var e in c do d[e]:=d.Get(e)+1; var q:=d.OrderByDescending(x->x.Value); var p:=q.First.Value; if p=1 then Writeln('Все значения в массиве уникальны') else begin var s:=q.TakeWhile(x->x.Value=p).Select(x->x.Key); Write('Наиболее часто (',p,') '); if s.Count=1 then begin Print('встречается значение'); s.Print end else begin Print('встречаются значения:'); s.Println end end end.
Тестовые решения
m= 3 76 34 96 47 99 79 94 33 11 Все значения в массиве уникальны
m= 5 43 19 46 70 51 73 46 50 18 25 19 10 32 83 81 32 46 81 23 84 27 91 84 79 28 Наиболее часто (3) встречается значение 46
1) хотя не понятно зачем изобретать велосипед
function max(a, b: integer): integer;
begin
max := a;
if b > a then
max := b;
end;
begin
var a:=ReadInteger('a =');
var b:=ReadInteger('b =');
writeln(max(a, 2 * b) * max(2 * a - b, b));
end.
2)
const
handfree = false;
begin
var a:= new integer[ReadInteger('n =')];
if handfree then
a := ArrRandomInteger(a.Length, -50, 50)
else
a := ReadArrInteger(a.Length);
writeln('Array:');
a.Println;
writeln('Sum of odds by value = ', a.Where(x -> x mod 2 = 0).Sum);
writeln('Sum of odds by position = ', a.Slice(0, 2).Sum);
end.
3)
const
n = 5;
m = 6;
handsfree = false;
begin
var a := new integer[n, m];
writeln('Данные матрицы:');
for var i := a.GetLowerBound(0) to a.GetUpperBound(0) do
begin
for var j := a.GetLowerBound(1) to a.GetUpperBound(1) do
if handsfree then begin
a[i, j] := random(-50, 50);
write(a[i, j]:4, ' ')
end
else
read(a[i, j]);
writeln;
end;
writeln('Вывод:');
for var i := a.GetLowerBound(0) to a.GetUpperBound(0) do
begin
for var j := a.GetLowerBound(1) to a.GetUpperBound(1) do
begin
if a[i, j] < 0 then a[i, j] := 0;
write(a[i, j]:4, ' ');
end;
writeln;
end;
end.
// PascalABC.NET 3.1, сборка 1250 от 28.05.2016
begin
var m:=ReadInteger('m=');
var c:=MatrixRandom(m,m,10,99);
var d:=new Dictionary<integer,integer>;
for var i:=0 to m-1 do begin
for var j:=0 to m-1 do Print(c[i,j]);
Println;
end;
foreach var e in c do d[e]:=d.Get(e)+1;
var q:=d.OrderByDescending(x->x.Value);
var p:=q.First.Value;
if p=1 then Writeln('Все значения в массиве уникальны')
else begin
var s:=q.TakeWhile(x->x.Value=p).Select(x->x.Key);
Write('Наиболее часто (',p,') ');
if s.Count=1 then begin
Print('встречается значение');
s.Print
end
else begin
Print('встречаются значения:');
s.Println
end
end
end.
Тестовые решения
m= 3
76 34 96
47 99 79
94 33 11
Все значения в массиве уникальны
m= 5
43 19 46 70 51
73 46 50 18 25
19 10 32 83 81
32 46 81 23 84
27 91 84 79 28
Наиболее часто (3) встречается значение 46
m= 10
89 11 84 46 18 68 56 13 28 34
86 25 84 34 51 13 37 41 26 23
33 74 87 21 11 42 61 42 32 65
34 37 47 23 24 20 61 14 93 31
71 27 19 31 81 94 38 87 74 83
19 74 81 28 70 24 23 72 44 76
17 24 80 62 10 58 78 71 19 40
52 33 48 94 51 16 64 65 40 16
13 74 68 48 56 60 56 28 53 99
97 88 69 27 23 57 46 57 31 33
Наиболее часто (4) встречаются значения: 23 74