等价关系

时间:2018-11-09 17:14:05

标签: c++

我被困在下一步中...该程序假设检查输入的零一矩阵是否是等价关系(传递,对称和自反)。我对C ++还是陌生的(本学期开始)。我知道如何使用向量创建矩阵,但是不知道如何检查它是否等价关系。

我假设我需要使用布尔函数,但是我坚持需要将其作为参数或者是正确的。我最初的想法是...所以对于对称它看起来像(我知道这要在#include和beofre int main()之后进行。任何帮助都很棒。

bool isSymmetric(vector<int> &vect, int Value)
{
    for (int i = 0; i < Value; i++)
        for (int j = 0; j < Value; j++)
            if (vect[i][j] != vect[j][i])
                return false;
    return true;
}

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

int main()
{
    vector< vector<int> > vec;
    cout << "NxN matrix N: ";
    int Value;
    cin >> Value;
    cout << Value << "x" << Value << " matrix\n";

    for (int i = 0; i < Value; i++) {
        vector<int> row;
        for (int j = 0; j < Value; j++) {
            cout << "Enter a number (0 or 1): ";
            int User_num;
            cin >> User_num;
            while (User_num != 0 && User_num != 1) {
                cout << "Invalid Entry! Enter 0 or 1!\n";
                cout << "Enter a number (0 or 1): ";
                cin >> User_num;
            }
            row.push_back(User_num);
        }
        vec.push_back(row);
    }
    cout << endl;

    for (int i = 0; i < Value; i++) {
        for (int j = 0; j < Value; j++) {
            cout << vec[i][j] << " ";
        }
        cout << endl;
    }
    cout << endl;

    system("pause");
    return 0;
}

0 个答案:

没有答案