Сколько бит видеопамяти требуется на 1 пиксель для хранения 2-х, 4-х , 8-ми, 16-ти, 32-х, 64-х-цветового изображения. записать формулу для определения количества цветов (к) и размера кода (количество битов) для их кодировки (b)
var a, b: array[1..n] of integer; i, j, step, t: integer; flag: boolean;
begin Randomize; Writeln('Исходные элементы массива'); for i := 1 to n do begin a[i] := Random(10) - 5; Write(a[i]:4) end; { Сортируем массив (метод Шелла) } step := n div 2; while step > 0 do begin for j := n - step downto 1 do begin i := j; while i <= n - step do begin if a[i] > a[i + step] then begin t := a[i]; a[i] := a[i + step]; a[i + step] := t end; i := i + step end end; step := step div 2 end; { проходим по массиву и если элемент встречается более одного раза подряд, переносим его в другой массив } j := 0; t := a[1]; flag := false; for i := 2 to n do begin if (a[i] = t) and (not flag) then begin j := j + 1; b[j] := t; flag := true end else begin flag := false; t := a[i] end end; Writeln; Writeln('Отобранные элементы массива'); for i := 1 to j do Write(b[i]:4); Writeln end.
Const Sz = 1000; var a: array [1..Sz] of integer; b: array [1..Sz] of integer; c: array [1..Sz] of integer; d: array [1..Sz] of integer; M: integer; N: integer; i: integer; k: integer;begin read(M); readln(N); for i:=1 to N do begin read(a[i]); readln(b[i]); if (a[i]<>0) then c[i]:=1 else c[i]:=0; end; for i:=1 to N do begin if(c[i]<>0) then begin for k:=1 to i do begin if(d[k]=0) then d[i]:=1; if (c[k]=i) then d[k]:=0; end; writeln(d[i]) end;end;end.
K=2^b
2 цвета: 2=2^1 (1 бит)
4 цвета: 4=2:2 (2 бита)
8 цветов: 8=2^3 (3 бита)
16 цветов: 16=2^4 (4 бита)
32 цвета: 32=2^5 (5 бит)
64 цвета: 64=2^6 (6 бит)