C++程序 检验幂等矩阵

C++程序 检验幂等矩阵

给定N * N矩阵,任务是检查矩阵是否为幂等矩阵。

幂等矩阵: 如果矩阵乘以它自己返回相同的矩阵,则称为幂等矩阵。当且仅当矩阵M是幂等矩阵时,矩阵M称为幂等矩阵。 M * M = M . 在幂等矩阵中,M是一个方阵。

C++程序 检验幂等矩阵

例子:

输入:mat[][] = {{3, -6},
{1, -2}};
输出:幂等矩阵

输入:mat[N][N]={{2, -2, -4},
{-1, 3, 4},
{1, -2, -3}}
输出:幂等矩阵。

// 检查给定矩阵是否为幂等矩阵的程序
# include<bits/stdc++.h>
# define N 3
using namespace std;
 
// 矩阵乘法函数。
void multiply(int mat[][N], int res[][N])
{
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < N; j++)
        {
            res[i][j] = 0;
            for (int k = 0; k < N; k++)
                res[i][j] += mat[i][k] * mat[k][j];
        }
    }
}
 
// 检查矩阵的幂等性的函数。
bool checkIdempotent(int mat[][N])
{  
    // 计算矩阵与其自身的乘积,并将其存储到res中。
    int res[N][N];
    multiply(mat, res);
 
    for (int i = 0; i < N; i++)   
        for (int j = 0; j < N; j++)       
            if (mat[i][j] != res[i][j])
                return false;
    return true;
}
 
// 驱动程序。
int main()
{
    int mat[N][N] = {{2, -2, -4},
                    {-1, 3, 4},
                    {1, -2, -3}};
     
    // checkIdempotent函数调用。
    if (checkIdempotent(mat))
        cout << "幂等矩阵";
    else
        cout << "不幂等矩阵。";
    return 0;
}  

输出

幂等矩阵

时间复杂度: O(N 3 )

辅助空间 : O(N 2 )

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 示例