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