Язык не указан,поэтому на свой выбор си++.
Задание не пояснено.Что значит формирует? Это динамика или статика?
#include<iostream>;
using namespace std;
int main()
{
int arr[9] = { 0, 0, 0, 0, 0, 0, 0, 0, 0 };
cout << endl << "array of random numbers" << endl;
for (int i = 0; i < 9; i++)
{
arr[i] = rand() % 10;
cout << arr[i] << " ";
}
cout << endl<<"replacing an array with units" <<endl;
for (int i = 0; i < 9; i++)
{
arr[i] = 1;
cout << arr[i] << " ";
}
cout << endl;
system("pause");
return 0;
}
ответ:
объяснение:
используем формулу нахождения объема:
i = m x n * i
подсчитаем каждый сомножитель в формуле, стараясь числа к степеням двойки:
m x n:
160 * 160 = 20 * 2³ * 20 * 2³ = 400 * 26 =
= 25 * 24 * 26
нахождение глубины кодирования i:
256 = 28
т.е. 8 бит на пиксель (из формулы кол-во цветов = 2i)
находим объем:
i = 25 * 24 * 26 * 23 = 25 * 213 - всего бит на всё изображение
переводим в кбайты:
(25 * 213) / 213 = 25 кбайт
Я не стану выбирать С++ - это все же язык для решения совсем иных задач.
PascalABC.NET 3.4.2, сборка 1864 от 11.11.2018Внимание! Если программа не работает, обновите версию!begin
var a := ArrRandom(9, -50, 50);
a.Println;
a.Fill(t -> 1);
a.Println
end.
1 3 17 -6 -22 19 -1 -29 -201 1 1 1 1 1 1 1 1