1) ответ:
2^i=n
2^i=32
i=5
один символ=5 бит
2) 64=2⁶
следовательно ,требуется 6-разрядный двоичный код
3) 2^i=n, n = 16
2^i=16
i=4 бит
50 * 4 = 200 бит
200: 8 = 25 байт
4) используем формулу 2^i=n. так как в алфавите 16 символов (n=16), то 2^i=16, следовательно i=4. 4 бита весит один символ. 384*4=1536. 1536 бит весит сообщение из 384 символов по 4 бита каждый. переводим биты в байты. 1 байт=8 бит, 1536/8=192 байта. переводим байты в килобайты. 1 килобайт=1024 байт. 192/1024=0,1875 килобайт весит все сообщение. так что лучше ответ оставить в байтах (192 байта).
#include <iostream>
#include <vector>
using namespace std;
// глобальные переменные
const int arraySize = 10;
vector <int> numbers;
// сам алгоритм.
void result(){
// совет - обьявляй все переменные в начале функции
int leader = 0;
int maxCount = 0;
int count = 0;
// поиск самого частого числа
for (int c = 0; c < 9;c++){
// обнуляем счетчик
count = 0;
for (int c1 = 0;c1 < arraySize;c1++){
if (numbers[c1] == c) count++;
}
// проверка на лидера
if (maxCount < count){
leader = c;
maxCount = count;
}
}
// ну..с посмотрим:
cout << "Leader: " << leader << " (" << maxCount << ") " << std::endl;
}
int main()
{
// подготовка масива
srand(time(NULL)); // обнулем внутрений таймер для полного рандома
for (int c = 0; c < arraySize;c++) {
numbers.push_back(rand() % 9); // заполняем масив числами
}
// посмотрим на оригинальный масив
cout << "Original array: ";
for (int c = 0;c < arraySize;c++) cout << numbers[c] << " ";
cout << std::endl;
// сортировка
result();
return 0;
}
Объяснение:
Хорошая книга по с++: Герберт Шилд - с++ базовый курс.