#include <iostream>
#include <vector>
#include <map>
using namespace std;
int main(){
int n;
cin >> n;
vector<vector<int>> a(n, vector<int> (n));
vector<int> x(2*n);
map<int,int> m;
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
cin >> a[i][j];
int cur1 = 1, cur2 = 0, elem = 0, cnt = 0;
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){
if(i == j){
x[cur1] = a[i][j];
cur1 += 2;
m[a[i][j]]++;
if(m[a[i][j]] > cnt){
cnt = m[a[i][j]];
elem = a[i][j];
}
}
if(i + j == n - 1){
x[cur2] = a[i][j];
cur2 += 2;
m[a[i][j]]++;
if(m[a[i][j]] > cnt){
cnt = m[a[i][j]];
elem = a[i][j];
}
}
}
}
for(auto &i : x) cout << i << " ";
cout << "\nThe most popular element is : " << elem;
}
Код на C++:
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
const int N = 5;
int A[N][N], k;
cout << "Введите матрицу:" << endl;
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
cin >> A[i][j];
}
}
k = 0;
for (int j = 0; j < N - 1; j++)
{
for (int i = j + 1; i < N; i++)
{
if (A[i][j] == A[j][i])
{
k++;
}
}
}
if (k == (pow(N, 2) - N) / 2)
{
cout << "Да, симметрична!" << endl;
for (int i = 0; i < N; i++)
{
A[i][i] = 0;
for (int j = 0; j < N; j++)
{
cout << A[i][j] << " ";
}
cout << endl;
}
}
else
{
cout << "Нет, не симметрична!" << endl;
}
cin.get();
return 0;
};
Объяснение:
Поделитесь своими знаниями, ответьте на вопрос:
Для каких из значений числа x ложно высказывание: (число < 75) и не (число чётное)? выберите правильные ответы: 46 53 80 69 75
"Нечетное число меньше 75"
Т.к. высказывание должно быть ложно, берем в ответ всё, что либо четно, либо >= 75, либо и то и другое.
ответ: 46, 80, 75
Либо же берем все числа такие, что высказывание становится истинным (то бишь 53 и 69), и затем берем от этого множества чисел инверсию (т.е. всё, кроме них самих)