Дана матрица 5*7.элементы матрицы целые случайные числа в интервале [-18; +48].вывести матрицу и найти: 1)разность между средним арифметическим положительных элементов матрица и средним арифметическим отрицательных элементов матрицы;
//PascalABC.Net 3.2 begin var a: array of array of integer; var n:=readinteger('Строк матрицы: '); var m:=readinteger('Столбцов матрицы: '); setLength (a, n); for var i:=0 to length(a)-1 do a[i]:=arrRandom (m, -18, 48); var sumP:=0; var sumO:=0; var kolO:=0; for var i:=0 to n-1 do for var j:=0 to m-1 do if a[i][j]<0 then begin sumO+=a[i][j]; kolO+=1; end else sumP+=a[i][j]; writeln ('Разница: ', sumP/(m*n-kolO)-sumO/kolO); end.
1. При использовании палитры из 2^24 цветов для хранения цвета 1 пикселя используется 24 бита = 3 байта. Пусть количество пикселей в рисунке K, тогда объем памяти, занимаемой одним рисунком = (K*3)/1024 + 128 Кбайт. X = 8*(K*3/1024 + 128)+2.5*1024 2. При использовании палитры из 2^16 цветов для хранения цвета 1 пикселя используется 16 бита = 2 байта. Объем памяти, занимаемой одним рисунком = (K*2)/1024 + 128 Кбайт. X = 20*(K*2/1024 + 128) 8*(K*3/1024 + 128)+2.5*1024 = 20*(K*2/1024 + 128) К = 65536 (количество пикселей в рисунке) X = 20*(K*2/1024 + 128) = 20*(65536*2/1024 + 128) Кбайт = 20*(128 + 128) Кбайт = 5120 Кбайт = 5120/1024 Мбайт = 5 Мбайт
Программа: #include <iostream> using namespace std; int main() { int a=5; int b=4; int c; cout << "Количество яблок у Васи = " << a << "\n"; cout << "Количество яблок у Пети = " << b << "\n"; cout << "Количество яблок у Васи и Пети вместе = " << a+b << "\n"; c=(a+b)/3; cout << "Если разделить на 3-х поровну, то получится = " << c << "\n"; return 0; }
Результат: Количество яблок у Васи = 5 Количество яблок у Пети = 4 Количество яблок у Васи и Пети вместе = 9 Если разделить на 3-х поровну, то получится = 3
begin
var a: array of array of integer;
var n:=readinteger('Строк матрицы: ');
var m:=readinteger('Столбцов матрицы: ');
setLength (a, n);
for var i:=0 to length(a)-1 do a[i]:=arrRandom (m, -18, 48);
var sumP:=0; var sumO:=0; var kolO:=0;
for var i:=0 to n-1 do for var j:=0 to m-1 do
if a[i][j]<0 then begin
sumO+=a[i][j];
kolO+=1;
end else sumP+=a[i][j];
writeln ('Разница: ', sumP/(m*n-kolO)-sumO/kolO);
end.