Programa C++ para array de identidad

Introducción a la array de identidad:

 La definición del diccionario de una array de identidad es una array cuadrada en la que todos los elementos de la diagonal principal o principal son 1 y todos los demás elementos son ceros. En la imagen de abajo, cada array es una Array de Identidad. 
 

En álgebra lineal, esto a veces se denomina Array unitaria , de una array cuadrada (tamaño = nxn) con unos en la diagonal principal y ceros en otros lugares. La array identidad se denota por “ I ”. A veces, U o E también se usan para denotar una array de identidad. 
Una propiedad de la array identidad es que deja una array sin cambios si se multiplica por una Array Identidad.

Ejemplos:  

Input  : 2
Output : 1 0
         0 1

Input :  4
Output : 1 0 0 0
         0 1 0 0
         0 0 1 0
         0 0 0 1
The explanation is simple. We need to make all
the elements of principal or main diagonal as 
1 and everything else as 0.

Programa para imprimir Array de Identidad: 
La lógica es simple. Debe imprimir 1 en aquellas posiciones donde la fila es igual a la columna de una array y hacer que todas las demás posiciones sean 0. 

C++

// C++ program to print Identity Matrix
#include<bits/stdc++.h>
using namespace std;
 
int Identity(int num)
{
    int row, col;
     
    for (row = 0; row < num; row++)
    {
        for (col = 0; col < num; col++)
        {
            // Checking if row is equal to column
            if (row == col)
                cout << 1 << " ";
            else
                cout << 0 << " ";
        }
        cout << endl;
    }
    return 0;
}
 
// Driver Code
int main()
{
    int size = 5;
    Identity(size);
    return 0;
}
 
// This code is contributed by shubhamsingh10

Producción: 

1  0  0  0  0  
0  1  0  0  0  
0  0  1  0  0  
0  0  0  1  0  
0  0  0  0  1  

Complejidad de tiempo : O (n ^ 2) donde n no es filas y columnas en la array

Espacio Auxiliar: O(1)

Programa para verificar si una array cuadrada dada es Identity Matrix: 

C++

// CPP program to check if a given matrix is identity
#include<iostream>
using namespace std;
 
const int MAX = 100;
 
bool isIdentity(int mat[][MAX], int N)
{
    for (int row = 0; row < N; row++)
    {
        for (int col = 0; col < N; col++)
        {
            if (row == col && mat[row][col] != 1)
                return false;
            else if (row != col && mat[row][col] != 0)
                return false;
        }
    }
    return true;
}
 
// Driver Code
int main()
{
    int N = 4;
    int mat[][MAX] = {{1, 0, 0, 0},
                    {0, 1, 0, 0},
                    {0, 0, 1, 0},
                    {0, 0, 0, 1}};
    if (isIdentity(mat, N))
       cout << "Yes ";
    else
       cout << "No ";
    return 0;
}

Producción:

Yes

Complejidad de tiempo : O (n ^ 2) donde n no es filas y columnas en la array

Espacio Auxiliar: O(1)
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *