判断矩阵是否为单位矩阵

  
  
  
  
  1. /**
  2. *单位矩阵就是一个正方形矩阵,它除了主对角线的元素值为1以后,其余元素的值均为0
  3. */
  4. include <stdio.h> 
  5.  
  6. #define TRUE  1 
  7. #define FALSE 0 
  8.  
  9. int is_identity_matrix( int matrix[10][10] ); 
  10.  
  11. int main() 
  12.     int result; 
  13.     int mat[10][10] = { 
  14.                         {1,0,0,0,0,0,0,0,0,0}, 
  15.                         {0,1,0,0,0,0,0,0,0,0}, 
  16.                         {0,0,1,0,0,0,0,0,0,0}, 
  17.                         {0,0,0,1,0,0,0,0,0,0}, 
  18.                         {0,0,0,0,1,0,0,0,0,0}, 
  19.                         {0,0,0,0,0,1,0,0,0,0}, 
  20.                         {0,0,0,0,0,0,1,0,0,0}, 
  21.                         {0,0,0,0,0,0,0,1,0,0}, 
  22.                         {0,0,0,0,0,0,0,0,1,0}, 
  23.                         {0,0,0,0,0,0,0,0,0,1} 
  24.                       }; 
  25.  
  26.     result = is_identity_matrix( mat ); 
  27.  
  28.     if( result ) 
  29.         printf("mat is identity matrix\n"); 
  30.     else 
  31.         printf("mat is not identity matrix\n"); 
  32.  
  33.     return 1; 
  34.  
  35.  
  36. int is_identity_matrix( int matrix[10][10]) 
  37.     int  i , j ; 
  38.     int flags = 1; 
  39.     for( i = 0 ; i < 10 ; i++ ) 
  40.     { 
  41.         for( j = 0 ; j < 10 ; j++ ){ 
  42.             if( matrix[i][i] != 1 ){ 
  43.                 flags = 0;   
  44.             } 
  45.             if( i != j && matrix[i][j] != 0){ 
  46.                 flags = 0; 
  47.             } 
  48.         } 
  49.     } 
  50.     if( flags == 0 ) 
  51.         return FALSE; 
  52.     else 
  53.         return TRUE; 

 

vim 7.3

gcc 版本 : 4.5.1 20100924 (Red Hat 4.5.1-4) (GCC)  
system : Fedora 14
 

你可能感兴趣的:(职场,休闲,单位矩阵)