При двоичном кодировании буквам сопоставляются последовательности из символов «0» или «1». например, рассмотрим код, в котором буква a кодируется последовательностью «000», а буква б — последовательностью «111».
этот код обладает следующим свойством: он исправляет одну ошибку, то есть при изменении не более одного переданного символа всё равно можно восстановить переданное кодовое слово. например, если в последовательности «000» изменить один символ, то может получиться одна из следующих последовательностей: «100», «010», «001». а если изменить один символ в последовательности «111», то может получиться одна из следующих последовательностей «011», «101», «110».
про такой код мы будем говорить, что это код длины 3 (все кодовые слова состоят из трёх символов) мощности 2 (мы построили два кодовых слова), исправляющий одну ошибку.
нельзя составить код длины 2 мощности 2, исправляющий одну ошибку. например, если взять кодовые слова «00» и «11», то при получении последовательности «01» непонятно, какая последовательность была передана: это могла быть как последовательность «00», так и последовательность «11». несложно заметить, что код может исправлять одну ошибку, если любые два кодовых слова различаются как минимум в трёх позициях (то есть в таблице для любых двух выбранных строк верно свойство: найдётся три таких столбца, что в этих столбцах в двух выбранных строках записаны разные символы).
пример кода длины 5 мощности 3, исправляющий одну ошибку:
в таблице для любых двух выбранных строк верно свойство: найдётся три таких столбца, что в этих столбцах в двух выбранных строках записаны разные символы. поэтому этот код исправляет одну ошибку.
вам необходимо построить код длины 6, исправляющий одну ошибку, при этом код должен содержать как можно больше кодовых слов.
в качестве ответа вам нужно записать несколько кодовых слов, каждое кодовое слово в отдельной строке. кодовое слово должно содержать ровно шесть символов «0» или «1».
пример записи в ответе кода из двух кодовых слов:
чем больше кодовых слов вы сможете записать (при условии, что полученный код будет исправлять одну ошибку), тем больше вы получите. ответ, в котором всего лишь два кодовых слова, будет оцениваться в 0 .
#include <cstdlib>
#include <ctime>
int main()
{
using namespace std;
cout << "Enter size of array: ";
int N;
cin >> N;
int * ARR = new int[N];
srand(time(0));
int i;
for (i = 0; i < N; ++i)
ARR[i] = rand() % 100 + 1;
cout << "Here is an original array:\n";
for (i = 0; i < N; ++i)
cout << ARR[i] << " ";
cout << endl;
int temp = ARR[N - 1];
for (i = N - 1; i > 0; --i)
ARR[i] = ARR[i - 1];
ARR[0] = temp;
cout << "\nHere is a new array:\n";
for (i = 0; i < N; ++i)
cout << ARR[i] << " ";
cout << endl;
return 0;
}
ө мен Бахтыбай Абылай хан атындағы қазақ ұлттық университетінің журналистика факультетін бітірген қазақ халқының саны жөнінен де бар білгені жөн бе әлде қоладан ба не истеп калайсындар мен Бахтыбай Абылай хан атындағы қазақ ұлттық университетінің журналистика факультетін бітірген қазақ халқының саны жөнінен де бар білгені жөн бе әлде қоладан ба не истеп калайсындар мен Бахтыбай Абылай хан атындағы қазақ ұлттық университетінің журналистика факультетін бітірген қазақ халқының саны жөнінен де бар білгені жөн бе әлде қоладан ба не истеп