#include <iostream>
#include <iterator>
#include <vector>
using namespace std;
int main() {
int n = 5;
int m = 6;
vector<vector<int>> a(n, vector<int>(m));
for (int i = 0; i < n; ++i) {
for (int j = 0; j < m; ++j)
cin >> a[i][j];
}
vector<double> ans(m);
for (int i = 0, q = 0; i < m; ++i, ++q) {
int sum = 0;
int cnt = 0;
for (int j = 0; j < n; ++j) {
if (a[j][i] < 0) {
sum += a[j][i];
++cnt;
}
}
if (sum)
ans[q] = sum / (double)cnt;
}
copy(ans.cbegin(), ans.cend(), ostream_iterator<double>(cout, " "));
}
Пример схемы по этой формуле.
Лист Excel по двойному щелчку заполняет значение функции.
Выделяем нужный диапазон цифр, жмем вставка/диаграмма/....
Далее заполняем меню и жмем готово
<span />
Преобразуем (X & A ≠ 0) → ((X & 12 = 0) → (X & 49 ≠ 0)), избавившись от импликации. Для этого используем замену a→b = ¬a ∨ b
Также учтем, что ¬(p=0) = p≠0
Получаем (X & A = 0) ∨((X & 12 ≠ 0) ∨ (X & 49 ≠ 0))
Можно раскрыть скобки (X & A = 0) ∨ (X & 12 ≠ 0) ∨ (X & 49 ≠ 0)
49₁₀ = 110001₂, 12₁₀ = 001100₂, тогда
(X & A = 0) ∨ (X & 001100 ≠ 0) ∨ (X & 110001 ≠ 0)
Чтобы результат поразрядной конъюнкции был ненулевым, нужно чтобы в обоих операндах совпадали единичные биты хотя бы в одном разряде.
В нашем случае есть три члена, связанные по "ИЛИ" и задача - определить, при каком А выражение всегда будет истинным, т.е. даст хотя бы один единичный бит. Понятно, что значение А влияет только на тот случай, когда нули дали и (X & 001100 ≠ 0), и (X & 110001 ≠ 0).
Когда же такое возможно?
X & 001100 = 0, если Х имеет вид ??00??, где ? - произвольное состояние бита.
X & 110001 = 0, если Х имеет вид 00???0.
Объединяя эти два случаю получаем, при Х=0000?0 выражение
(X & 001100 ≠ 0) ∨ (X & 110001 ≠ 0) даст нули во всех битах.
Тогда (X & A = 0) должно дать хотя бы один единичный бит.
Получаем 0000?0 & А = 0, следовательно, А может иметь вид ????0?.
Тогда максимальное значение А равно 111101₂ = 61₁₀
можно узнать какие слова нужно вставить фото же нужно