Следующая буква должна кодироваться как 11, поскольку 10 мы взять не можем. 100 взять не можем из-за Г, значит, следующая буква должна быть закодирована кодом 101. Следующая буква должна кодироваться как 000, поскольку 00 взять не можем, иначе не останется кодовых слов для оставшейся буквы, которые удовлетворяют условию Фано. Значит, последняя буква будет кодироваться как 001. Тогда наименьшее количество двоичных знаков, которые потребуются для кодирования слова МАГИЯ равно 2 + 3 + 3 + 3 + 3 = 14.
1)
#include <iostream>
using namespace std;
int main ()
{
int k = 0;
int n, m, a[100][100];
cin >> n >> m;
for (int i = 0; i < n; i++){
for (int j = 0; j < m; j++){
cin >> a[i][j];
}
}
for (int i = 0; i < n; i++){
for (int j = 0; j < m; j++){
if(a[i][j]==a[j][i]){
k++;
}
}
}
cout<<"Количество элементов a[i][j] = a[j][i], " << k << endl;
}
2)
#include <iostream>
using namespace std;
int main ()
{
int a[100], n, m,s = 0;
cout << "Введите количество элементов массива" << endl;
cin >> n;
cout << "Введите заданное число" << endl;
cin >> m;
for(int i = 0; i<n;i++){
cout << "Введите " << i+1 << " элемент массива" << endl;
cin >> a[i];
}
for(int i = 0; i<n;i++){
if(a[i] > m){
s+=a[i];
}
}
cout << "Сумма элементов, больших заданного числа "<< s << endl;
}
Следующая буква должна кодироваться как 11, поскольку 10 мы взять не можем. 100 взять не можем из-за Г, значит, следующая буква должна быть закодирована кодом 101. Следующая буква должна кодироваться как 000, поскольку 00 взять не можем, иначе не останется кодовых слов для оставшейся буквы, которые удовлетворяют условию Фано. Значит, последняя буква будет кодироваться как 001. Тогда наименьшее количество двоичных знаков, которые потребуются для кодирования слова МАГИЯ равно 2 + 3 + 3 + 3 + 3 = 14.