Линейный поиск с барьером с++. не получается сделать проверку на наявность элемента в массиве. вот код :
#include
#include
#include
#include
using namespace std;
int main()
{
setlocale(lc_all, "ru");
srand(time(null));
const int size = 5;
double arr[size];
for (int i = 0; i < size; i++)
{
arr[i] = rand() % 26-10;
}
for (int i = 0; i < size; i++)
{
cout < < arr[i]< < " ";
}
int find_el;
cout < < endl < < "введите искомый элемент" < < " ";
cin > > find_el;
int position=0;
bool key;
if (arr[size - 1] ! = find_el) //проверим, нет ли find_el на последней позиции
{
for (position = 0; arr[position] ! = find_el; position++) //поиск
{
key = false;
}
if (key = true)
cout < < "индекс этого элемента" < < " "< else
cout < < "данного элемента нет в массиве";
}
else
cout < < size - 1;
}
Чтобы закодировать 2 возможных варианта, достаточно 1 бита.
Если нужно закодировать 3 варианта, то нужно будет уже 2 бита.
При чем 2мя битами можно закодировать 3 варианта и даже 4.
Количество исходов, или символов которые можно закодировать определяется по формуле: 2 в степени х = количество исходов.
где Х - количество Бит.
Так 2^5= 32 --- значит 5 битами можно закодировать 32 символа и менее.
2^6=64 --- 6ю битами можно закодировать 64 символа и менее.
Значит от вет будет 6 бит