Const n=5;m=10; var b:array[1..n,1..m]of integer; i,j,k,buf,l:integer; begin for i:=1 to n do begin writeln; for j:=1 to m do begin b[i,j]:=random(50); write(b[i,j]:4); end; end; writeln; for j:=1 to m do begin k:=0; for i:=1 to n-1 do if b[i,j]<b[i+1,j]then k:=k+1; if k=n-1 then buf:=buf+1; end; k:=0; for l:=2 to m do if l mod 2=0 then for i:=1 to n-1 do for j:=i+1 to n do if b[i,l]>b[j,l]then begin k:=b[i,l]; b[i,l]:=b[j,l]; b[j,l]:=k; end; writeln('увеличилось ',m div 2-buf); for i:=1 to n do begin writeln; for j:=1 to m do write(b[i,j]:4); end; end.
Эта картина занимает объём в 448 Кбайт.
Объяснение:
Дано:
K = 1024x512 пикселей
N = 128 цветов
Найти: I Кбайт
N = 2^i
128 = 2^i
2^7 = 2^i <=> i = 7 бит/цвет
I = K * i
I = 1024 * 512 пикселей * 7 бит/пиксель = 3670016 бит
I = 3670016 / 8 / 1024 Кбайт = 448 Кбайт
ответ: I = 448 Кбайт.