Advertisement
levartolona

making-hw-3.main

Mar 22nd, 2020
577
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.89 KB | None | 0 0
  1. #include <matrix.h>
  2.  
  3.  
  4. int main(void) {
  5.     size_t cols = 0;
  6.     size_t rows = 0;
  7.     double elem = 0;
  8.     Matrix *matrix_left = create_matrix_from_file("left.txt");
  9.     if (matrix_left == NULL) {
  10.         return EXIT_FAILURE;
  11.     }
  12.  
  13.     Matrix *matrix_right = create_matrix_from_file("right.txt");
  14.     if (matrix_right == NULL) {
  15.         free_matrix(matrix_left);
  16.         return EXIT_FAILURE;
  17.     }
  18.  
  19.  
  20.     int rc = get_rows(matrix_left, &rows);
  21.     if (rc) {
  22.         free_matrix(matrix_left);
  23.         free_matrix(matrix_right);
  24.         return EXIT_FAILURE;
  25.     }
  26.     rc = get_cols(matrix_left, &cols);
  27.     if (rc) {
  28.         free_matrix(matrix_left);
  29.         free_matrix(matrix_right);
  30.         return EXIT_FAILURE;
  31.     }
  32.     rc = get_elem(matrix_left, 0, 0, &elem);
  33.     if (rc) {
  34.         free_matrix(matrix_left);
  35.         free_matrix(matrix_right);
  36.         return EXIT_FAILURE;
  37.     }
  38.  
  39.     rc = set_elem(matrix_left, 0, 0, elem);
  40.     if (rc) {
  41.         free_matrix(matrix_left);
  42.         free_matrix(matrix_right);
  43.         return EXIT_FAILURE;
  44.     }
  45.  
  46.     Matrix *matrix_sum    = sum(matrix_left, matrix_right);
  47.     Matrix *matrix_sub    = sub(matrix_left, matrix_right);
  48.     Matrix *matrix_scalar = mul_scalar(matrix_left, elem);
  49.     Matrix *matrix_mul    = mul(matrix_left, matrix_right);
  50.     Matrix *matrix_inv    = inv(matrix_left);
  51.  
  52.  
  53.     printf("\nMatrix sum:");
  54.     matrix_print(matrix_sum);
  55.     printf("\nMatrix sub:");
  56.     matrix_print(matrix_sub);
  57.     printf("\nMatrix scalar:");
  58.     matrix_print(matrix_scalar);
  59.     printf("\nMatrix mul:");
  60.     matrix_print(matrix_mul);
  61.     printf("\n\nMatrix inv:");
  62.     matrix_print(matrix_inv);
  63.  
  64.     free_matrix(matrix_left);
  65.     free_matrix(matrix_right);
  66.     free_matrix(matrix_sum);
  67.     free_matrix(matrix_sub);
  68.     free_matrix(matrix_scalar);
  69.     free_matrix(matrix_mul);
  70.     free_matrix(matrix_inv);
  71.  
  72.     return rc;
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement