📜  检查对角矩阵和标量矩阵的程序

📅  最后修改于: 2021-04-27 18:28:52             🧑  作者: Mango

对角矩阵:

如果矩阵的除主对角线以外的元素为零,则称方阵为对角线矩阵。平方零矩阵也是主要对角元素为零的对角矩阵。
例子 :

Input : 
Mat[4][0] = {{4, 0, 0, 0},
             {0, 5, 0, 0},
             {0, 0, 2, 0},
         {0, 0, 0, 1}}
Output : Yes

Mat[4][0] = {{6, 10, 12, 0},
             {0, 5, 0, 0},
             {0, 0, 9, 0},
             {0, 0, 0, 1}}
Output : No
CPP
// Program to check matrix is diagonal matrix or not.
#include 
#define N 4
using namespace std;
 
// Function to check matrix is diagonal matrix
// or not.
bool isDiagonalMatrix(int mat[N][N])
{
    for (int i = 0; i < N; i++)
        for (int j = 0; j < N; j++)
 
            // condition to check other elements
            // except main diagonal are zero or not.
            if ((i != j) && (mat[i][j] != 0))
                return false;
    return true;
}
 
// Driver function
int main()
{
    int mat[N][N] = { { 4, 0, 0, 0 },
                      { 0, 7, 0, 0 },
                      { 0, 0, 5, 0 },
                      { 0, 0, 0, 1 } };
 
    if (isDiagonalMatrix(mat))
        cout << "Yes" << endl;
    else
        cout << "No" << endl;
    return 0;
}


Java
// Program to check matrix is
// diagonal matrix or not.
 
import java.io.*;
 
class GFG {
     
    static int N = 4;
     
    // Function to check matrix
    // is diagonal matrix
    // or not.
    static boolean isDiagonalMatrix(int mat[][])
    {
        for (int i = 0; i < N; i++)
            for (int j = 0; j < N; j++)
      
                // condition to check
                // other elements
                // except main diagonal
                // are zero or not.
                if ((i != j) &&
                   (mat[i][j] != 0))
                    return false;
 
        return true;
    }
      
    // Driver function
    public static void main(String args[])
    {
        int mat[][] = { { 4, 0, 0, 0 },
                          { 0, 7, 0, 0 },
                          { 0, 0, 5, 0 },
                          { 0, 0, 0, 1 } };
      
        if (isDiagonalMatrix(mat))
            System.out.println("Yes");
        else
            System.out.println("No" );
    }
}
 
// This code is contributed by
// Nikita Tiwari.


Python3
# Python3 Program to check if matrix
# is diagonal matrix or not.
 
N = 4
 
# Function to check matrix
# is diagonal matrix
# or not.  
def isDiagonalMatrix(mat) :
    for i in range(0, N):
        for j in range(0, N) :
             
            # condition to check
            # other elements
            # except main diagonal
            # are zero or not.
            if ((i != j) and
             (mat[i][j] != 0)) :
                return False
 
    return True
 
 
# Driver function
mat = [[ 4, 0, 0, 0 ],
       [ 0, 7, 0, 0 ],
       [ 0, 0, 5, 0 ],
       [ 0, 0, 0, 1 ]]
 
if (isDiagonalMatrix(mat)) :
    print("Yes")
else :
    print("No")
     
     
# This code is contributed by Nikita Tiwari.


C#
// Program to check matrix is
// diagonal matrix or not.
using System;
 
class GFG {
     
    static int N = 4;
     
    // Function to check matrix
    // is diagonal matrix
    // or not.
    static bool isDiagonalMatrix(int [,]mat)
    {
        for (int i = 0; i < N; i++)
            for (int j = 0; j < N; j++)
     
                // condition to check
                // other elements
                // except main diagonal
                // are zero or not.
                if ((i != j) &&    (mat[i,j] != 0))
                    return false;
 
        return true;
    }
     
    // Driver function
    public static void Main()
    {
        int [,]mat = { { 4, 0, 0, 0 },
                        { 0, 7, 0, 0 },
                        { 0, 0, 5, 0 },
                        { 0, 0, 0, 1 } };
     
        if (isDiagonalMatrix(mat))
            Console.WriteLine("Yes");
        else
            Console.WriteLine("No" );
    }
}
 
// This code is contributed by
// vt_m.


PHP


Javascript


CPP
// Program to check matrix is scalar matrix or not.
#include 
#define N 4
using namespace std;
 
// Function to check matrix is scalar matrix or not.
bool isScalarMatrix(int mat[N][N])
{
    // Check all elements except main diagonal are
    // zero or not.
    for (int i = 0; i < N; i++)
        for (int j = 0; j < N; j++)
            if ((i != j) && (mat[i][j] != 0))
                return false;
 
    // Check all diagonal elements are same or not.
    for (int i = 0; i < N - 1; i++)
        if (mat[i][i] != mat[i + 1][i + 1])
            return false;
    return true;
}
 
// Driver function
int main()
{
    int mat[N][N] = { { 2, 0, 0, 0 },
                      { 0, 2, 0, 0 },
                      { 0, 0, 2, 0 },
                      { 0, 0, 0, 2 } };
    // Function call
    if (isScalarMatrix(mat))
        cout << "Yes" << endl;
    else
        cout << "No" << endl;
    return 0;
}


Java
// Program to check matrix
// is scalar matrix or not.
import java.io.*;
 
class GFG {
     
    static int N = 4;
    // Function to check matrix
    // is scalar matrix or not.
    static boolean isScalarMatrix(int mat[][])
    {
        // Check all elements
        // except main diagonal are
        // zero or not.
        for (int i = 0; i < N; i++)
            for (int j = 0; j < N; j++)
                if ((i != j)
                  && (mat[i][j] != 0))
                    return false;
      
        // Check all diagonal elements
        // are same or not.
        for (int i = 0; i < N - 1; i++)
            if (mat[i][i] != mat[i + 1][i + 1])
                return false;
        return true;
    }
      
    // Driver function
    public static void main(String args[])
    {
        int mat[ ][ ] = { { 2, 0, 0, 0 },
                          { 0, 2, 0, 0 },
                          { 0, 0, 2, 0 },
                          { 0, 0, 0, 2 } };
        // Function call
        if (isScalarMatrix(mat))
            System.out.println("Yes");
        else
            System.out.println("No");
    }
}
 
// This code is contributed
// by Nikita tiwari.


Python3
# Program to check matrix
# is scalar matrix or not.
 
 
N = 4
 
# Function to check matrix is
# scalar matrix or not.
def isScalarMatrix(mat) :
     
    # Check all elements
    # except main diagonal are
    # zero or not.
    for i in range(0,N) :
        for j in range(0,N) :
            if ((i != j)
               and (mat[i][j] != 0)) :
                return False
  
    # Check all diagonal
    # elements are same or not.
    for i in range(0,N-1) :
        if (mat[i][i] !=
           mat[i + 1][i + 1]) :
            return False
 
    return True
 
 
# Driver function
mat = [[ 2, 0, 0, 0 ],
       [ 0, 2, 0, 0 ],
       [ 0, 0, 2, 0 ],
       [ 0, 0, 0, 2 ]]
 
# Function call
if (isScalarMatrix(mat)):
    print("Yes")
else :
    print("No")
     
     
# This code is contributed by
# Nikita tiwari.


C#
// Program to check matrix
// is scalar matrix or not.
using System;
 
class GFG {
     
    static int N = 4;
     
    // Function to check matrix
    // is scalar matrix or not.
    static bool isScalarMatrix(int [,]mat)
    {
        // Check all elements
        // except main diagonal are
        // zero or not.
        for (int i = 0; i < N; i++)
            for (int j = 0; j < N; j++)
                if ((i != j) && (mat[i,j] != 0))
                    return false;
     
        // Check all diagonal elements
        // are same or not.
        for (int i = 0; i < N - 1; i++)
            if (mat[i, i] != mat[i + 1, i + 1])
                return false;
        return true;
    }
     
    // Driver function
    public static void Main()
    {
        int [,]mat = { { 2, 0, 0, 0 },
                        { 0, 2, 0, 0 },
                        { 0, 0, 2, 0 },
                        { 0, 0, 0, 2 } };
        // Function call
        if (isScalarMatrix(mat))
            Console.WriteLine("Yes");
        else
            Console.WriteLine("No");
    }
}
 
// This code is contributed
// by vt_m.


PHP


Javascript


输出:

Yes

标量矩阵

如果所有主要对角线元素均相等且除主要对角线以外的其他元素均为零,则称方阵为标量矩阵。标量矩阵也可以n * I的形式编写,其中n是任何实数,而I是单位矩阵。
例子:

Input :
Mat[4][4] = {{4, 0, 0, 0},
             {0, 4, 0, 0},
             {0, 0, 4, 0},
             {0, 0, 0, 4}} 
Output : Yes

Mat[4][4] = {{4, 0, 0, 0},
             {0, 4, 0, 0},
             {0, 0, 1, 0},
             {0, 0, 0, 4}} 
Output : No

CPP

// Program to check matrix is scalar matrix or not.
#include 
#define N 4
using namespace std;
 
// Function to check matrix is scalar matrix or not.
bool isScalarMatrix(int mat[N][N])
{
    // Check all elements except main diagonal are
    // zero or not.
    for (int i = 0; i < N; i++)
        for (int j = 0; j < N; j++)
            if ((i != j) && (mat[i][j] != 0))
                return false;
 
    // Check all diagonal elements are same or not.
    for (int i = 0; i < N - 1; i++)
        if (mat[i][i] != mat[i + 1][i + 1])
            return false;
    return true;
}
 
// Driver function
int main()
{
    int mat[N][N] = { { 2, 0, 0, 0 },
                      { 0, 2, 0, 0 },
                      { 0, 0, 2, 0 },
                      { 0, 0, 0, 2 } };
    // Function call
    if (isScalarMatrix(mat))
        cout << "Yes" << endl;
    else
        cout << "No" << endl;
    return 0;
}

Java

// Program to check matrix
// is scalar matrix or not.
import java.io.*;
 
class GFG {
     
    static int N = 4;
    // Function to check matrix
    // is scalar matrix or not.
    static boolean isScalarMatrix(int mat[][])
    {
        // Check all elements
        // except main diagonal are
        // zero or not.
        for (int i = 0; i < N; i++)
            for (int j = 0; j < N; j++)
                if ((i != j)
                  && (mat[i][j] != 0))
                    return false;
      
        // Check all diagonal elements
        // are same or not.
        for (int i = 0; i < N - 1; i++)
            if (mat[i][i] != mat[i + 1][i + 1])
                return false;
        return true;
    }
      
    // Driver function
    public static void main(String args[])
    {
        int mat[ ][ ] = { { 2, 0, 0, 0 },
                          { 0, 2, 0, 0 },
                          { 0, 0, 2, 0 },
                          { 0, 0, 0, 2 } };
        // Function call
        if (isScalarMatrix(mat))
            System.out.println("Yes");
        else
            System.out.println("No");
    }
}
 
// This code is contributed
// by Nikita tiwari.

Python3

# Program to check matrix
# is scalar matrix or not.
 
 
N = 4
 
# Function to check matrix is
# scalar matrix or not.
def isScalarMatrix(mat) :
     
    # Check all elements
    # except main diagonal are
    # zero or not.
    for i in range(0,N) :
        for j in range(0,N) :
            if ((i != j)
               and (mat[i][j] != 0)) :
                return False
  
    # Check all diagonal
    # elements are same or not.
    for i in range(0,N-1) :
        if (mat[i][i] !=
           mat[i + 1][i + 1]) :
            return False
 
    return True
 
 
# Driver function
mat = [[ 2, 0, 0, 0 ],
       [ 0, 2, 0, 0 ],
       [ 0, 0, 2, 0 ],
       [ 0, 0, 0, 2 ]]
 
# Function call
if (isScalarMatrix(mat)):
    print("Yes")
else :
    print("No")
     
     
# This code is contributed by
# Nikita tiwari.

C#

// Program to check matrix
// is scalar matrix or not.
using System;
 
class GFG {
     
    static int N = 4;
     
    // Function to check matrix
    // is scalar matrix or not.
    static bool isScalarMatrix(int [,]mat)
    {
        // Check all elements
        // except main diagonal are
        // zero or not.
        for (int i = 0; i < N; i++)
            for (int j = 0; j < N; j++)
                if ((i != j) && (mat[i,j] != 0))
                    return false;
     
        // Check all diagonal elements
        // are same or not.
        for (int i = 0; i < N - 1; i++)
            if (mat[i, i] != mat[i + 1, i + 1])
                return false;
        return true;
    }
     
    // Driver function
    public static void Main()
    {
        int [,]mat = { { 2, 0, 0, 0 },
                        { 0, 2, 0, 0 },
                        { 0, 0, 2, 0 },
                        { 0, 0, 0, 2 } };
        // Function call
        if (isScalarMatrix(mat))
            Console.WriteLine("Yes");
        else
            Console.WriteLine("No");
    }
}
 
// This code is contributed
// by vt_m.

的PHP


Java脚本


输出 :

Yes