1. Попытайтесь добавить в таблицу «Код Хемминга» еще два символа: «+» и «=», не нарушая принципа ее построения (минимальное расстояние равно 3). Внесите соответствующие изменения в программу Hemming. 2. Используя расширенный код, построенный при выполнении предыдущего задания, зашифруйте сообщение: «25+34=59». Проверьте правильность кода с программы Hemming.
Ответы на вопрос:
random_device rd;
mt19937 eng(rd());
uniform_int_distribution<int> dist(1, 10);
int n;
int x;
cin >> n >> x;
vector<int> a(n);
for (auto& i : a)
i = dist(eng);
copy(a.cbegin(), a.cend(), ostream_iterator<int>(cout, " "));
cout << '\n';
sort(a.begin(), a.end());
copy(a.cbegin(), a.cend(), ostream_iterator<int>(cout, " "));
cout << '\n';
if (binary_search(a.cbegin(), a.cend(), x)) {
cout << x << " found";
} else {
set<int> temp(a.cbegin(), a.cend());
if (x < *temp.cbegin()) {
cout << *temp.cbegin();
} else if (x > *prev(temp.cend())) {
cout << *prev(temp.cend());
} else {
auto f = lower_bound(a.cbegin(), a.cend(), x);
auto s = upper_bound(a.cbegin(), a.cend(), x);
if (f != a.cend() && s != a.cend()) {
if (abs(*f - x) < abs(*s - x)) {
cout << *f;
} else {
cout << *s;
}
} else if (f == a.cend() && s != a.cend()) {
cout << *s;
} else if (f != a.cend() && s == a.cend()) {
cout << *f;
}
}
}
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
alenaefremova7907.05.2021 00:50
-
kisuli101.03.2022 18:15
-
livekristinka05.08.2020 05:09
-
ndzandigiv11.04.2022 11:41
-
ss030703118.06.2020 13:59
-
evi02072007120.06.2020 09:23
-
Dhgfhdudv31.01.2023 17:01
-
Рина20127.12.2021 22:33
-
Діанка46508.09.2021 17:04
-
Андрей2225698765425.12.2021 09:13
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.