Advertisement
kate262

ffff

Dec 12th, 2019
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.84 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<malloc.h>
  3. #include<stdlib.h>
  4. void print_matrix(int** matr, int n, int m);
  5. int** create_matrix(int n, int m);
  6. void free_matrix(int** matr, int n, int m);
  7. void srand_matrix(int** matr, int n, int m);
  8. void scan_matrix(int** matr, int n, int m);
  9.  
  10. int main()
  11. {
  12.     int n,m;
  13.     scanf("%d",&n);
  14.     scanf("%d", &m);
  15.     if(m>50 || n<2)       // matrix size is incorrect
  16.     {
  17.         printf("Incorrect size\n");
  18.     }
  19.  
  20.    int**  matr=create_matrix(n,m);
  21.     scan_matrix(matr, n, m);
  22.  
  23.    
  24.     for(int i=0; i<n; i++)
  25.     {
  26.         for(int j=0; j<m; j++)
  27.         {
  28.             if (i==j && matr[i][j]*matr[i][j]!=1)
  29.             {
  30.                 printf("Matrix is no ortonorm\n");
  31.                 break;
  32.             }
  33.             if(i != j && matr[i][j]*matr[i][j]!=0)
  34.             {
  35.                  printf("Matrix is no ortonorm\n");
  36.                  break;
  37.             }
  38.         }
  39.     }
  40.    
  41.     return 0;
  42. }
  43.  
  44. int** create_matrix(int n, int m)
  45. {  
  46.     int **matr = malloc(n*sizeof(int *));
  47.     for (int i = 0; i<n; i++)
  48.     {
  49.         matr[i]=malloc(m*sizeof(int));
  50.     }
  51.     return (matr);
  52. }
  53.  
  54. void scan_matrix(int** matr, int n, int m)
  55. {
  56.     for(int i=0; i<n; i++)
  57.     {
  58.         for(int j=0; j<m; j++)
  59.         {
  60.             scanf("%d", &matr[i][j]);
  61.         }
  62.     }
  63. }
  64.  
  65. void srand_matrix(int** matr, int n, int m)
  66. {
  67.     for(int i=0; i<n; i++)
  68.     {
  69.         for(int j=0; j<m; j++)
  70.         {
  71.             matr[i][j] = rand()%50;
  72.         }
  73.     }
  74. }
  75.  
  76. void print_matrix(int** matr, int n, int m)
  77. {
  78.     for(int i=0; i<n; i++)
  79.     {
  80.         for(int j=0; j<m; j++)
  81.         {
  82.             printf("%d", matr [i] [j]);
  83.         }
  84.         puts(" ");
  85.     }
  86. }
  87.  
  88. void free_matrix(int** matr, int n, int m)
  89. {
  90.     for(int i=0; i<n; i++)
  91.     {
  92.         free(matr[i]);
  93.     }
  94.     free(matr);
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement