Загрузка данных


#include <iostream>
#include <vector>
#include <set>
#include <iomanip>
using namespace std;

bool checkRel(int x, int y) {
    return (x - 1 == 2 * y);
}

void printSet(const vector<int>& A) {
    for (int x : A) cout << x << " ";
    cout << endl;
}

void printPairs(const vector<int>& A) {
    bool first = true;
    for (int x : A)
        for (int y : A)
            if (checkRel(x, y)) {
                if (!first) cout << " ";
                cout << "(" << x << "," << y << ")";
                first = false;
            }
    cout << endl;
}

vector<vector<int>> buildMatrix(const vector<int>& A) {
    int n = A.size();
    vector<vector<int>> R(n, vector<int>(n));

    for (int i = 0; i < n; i++)
        for (int j = 0; j < n; j++)
            R[i][j] = checkRel(A[i], A[j]);

    return R;
}

void printMatrix(const vector<vector<int>>& R, const vector<int>& A) {
    int n = A.size();
    int w = 6;

    cout << setw(w) << " ";
    for (int x : A)
        cout << setw(w) << x;
    cout << endl;

    cout << setw(w) << " ";
    for (int i = 0; i < n; i++)
        cout << setw(w) << "----";
    cout << endl;