Для кодировки 16 цветов нужно 4 бита (2^4 = 16)
640 * 480 * 4 = 1228800 бит = 153600 байт / 1024 = 150 Кбайт
#include <iostream>
using namespace std;
int main()
{
int a[12];
for (int i = 0; i < 12; i++)
{
a[i] = rand() % 10;
} //заполняем массив случайными числами до 10
for (int i = 0; i < 12; i++)
{
cout << a[i]<<" ";
} // вывод элементов массива
int max=a[0],max_i; //переменные для максимального элемента
cout << endl;
for (int i = 1; i < 12; i++)
{
if (a[i] > max)
{
max_i = i;
max = a[i];
}
}
a[max_i] = -max;
for (int i = 0; i < 12; i++)
{
cout << a[i]<<" ";
} // вывод элементов массива
}
2 задание
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "russian");
int a[12];
for (int i = 0; i < 12; i++)
{
a[i] = rand() % 20-10;
} //заполняем массив случайными числами от -10 до 10
for (int i = 0; i < 12; i++)
{
cout << a[i]<<" ";
} // вывод элементов массива
int m=0,n=0; //переменные для подсчета
for (int i = 0; i < 12; i++)
{
if (a[i] > 0)
{
m++;
}
if (a[i] < 0)
{
n++;
}
}
cout << endl << "положительных " << m << " отрицательных " << n;
}
Объяснение:
На PascalABC.NET, потому что в остальных паскалях функция не может вернуть массив, а по условию она должна его заполнять.
function Init(n: integer): array of integer;
begin
Result := new integer[n];
Result[0] := 9;
for var k := 1 to Result.High do
Result[k] := (5 * Result[k-1] + 7) mod 1000;
end;
function IsSumM(n, M: integer): boolean;
begin
var s := 0;
while n > 0 do
begin
s += n mod 10;
n := n div 10
end;
Result := s = M
end;
begin
var (n, M) := ReadInteger2('Введи n и М');
Init(n).Println.Where(p -> IsSumM(p, M)).Println
end.
1) 640 × 480 = 307200 пикселей в изображении
2) 307200 × 16 бит = 4915200 бит информационный объем изображения
4915200 / 8 = 614400 байт / 1024 = 600 Кбайт
ответ: 600 Кбайт информационный объем изображения