Задача1
массив определи как array[];
чтобы посчитать, просто используй счетчик, но сначала инициализируй переменную, которая содержит ответ задачи:
int n;
array [n];
int answer;
for (i=0, i < n, i++)
{
if (array[i] == 2)
answer++;
}
std::cout<<answer;
Как то так
Задача2
array[n];
for (int i =1, i < n, i++)
{
if (array[0] >= array[i])
array[0] = array[i];
}
std::cout << array[0];
//Это было решение первого пункта
int first;
int last
bool positive;
while (positive == false )
{
for (int i = 0; i < n; i++)
{
if (array[i] > 0)
{
positive = true;
first = i;
array[i] = -1;
}
}
while (positive == false )
{
for (int i = 0, i < n, i++)
{
if (array[i] > 0)
{
positive = true;
last = i;
}
}
int summ
for (int i = first, i < last, i++)
{
summ += array[i];
}
std::cout<<summ; // ответ на 2 пункт
// ПРеобразую
newarray [n];
int a = 0;
for (int i = 0, i < n, i++)
{
if (array[i] == 0)
{
newarray[a] = array[i];
a++;
}
}
for (int i = 0, i < n, i++)
{
if (array[i] != 0)
{
newarray[a] = array[i];
a++;
}
}
std::cout<< newarray;
Также можно использовать равносильное выражение log2(1/p)
Вероятность взятия чёрного шара равна 10/20 = 0,5, белого - 4/20 = 0,2, жёлтого такая же - 0,2, красного - в 2 раза меньше - 0,1.
Значит, если мы взяли чёрный шар, мы получили кол-во информации log2(1/0,5) = log2(2) = 1 бит,
если белый, то log2(1/0,2) = log2(5) = 2,3219 бит
если жёлтый, то столько же 2,3219 бит
если красный, то log2(1/0,1) = log2(10) = 3,3219 бит