Advertisement
levartolona

matrix_cdio&&remove

Jan 11th, 2020
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.14 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef int* arr_t;
  5. typedef arr_t* matr_t;
  6.  
  7. matr_t matrix_create(matr_t matrix, int row, int col)
  8. {
  9.     matrix = malloc(sizeof(arr_t) * row);
  10.     for(int i = 0; i < row; i++)
  11.         *(matrix + i) = malloc(sizeof(int) * col);
  12.  
  13.     return matrix;
  14. }
  15.  
  16. matr_t matrix_input(matr_t matrix, int row, int col)
  17. {
  18.     for(int i = 0; i < row; i++)
  19.         for(int j = 0; j < col; j++)
  20.             scanf("%d", (*(matrix + i)) + j);
  21.  
  22.     return matrix;
  23. }
  24.  
  25. void matrix_out(matr_t matrix, int row, int col)
  26. {
  27.     for(int i = 0; i < row; i++)
  28.     {
  29.         for(int j = 0; j < col; j++)
  30.             printf("%d ", *(*(matrix + i) + j));
  31.         printf("\n");
  32.     }
  33. }
  34.  
  35. void matrix_delete(matr_t matrix, int row, int col)
  36. {
  37.     for(int i = 0; i < row; i++)
  38.     {
  39.         free(*(matrix + i));
  40.     }
  41.     free(matrix);
  42.  
  43.     return;
  44. }
  45.  
  46. matr_t matrix_remove_col(matr_t matrix, int *row, int col, int row_to_remove)
  47. {
  48.     free(*(matrix + row_to_remove));
  49.     for(int i = row_to_remove; i < (*row) - 1; i++)
  50.     {
  51.         *(matrix + i) = *(matrix + i + 1);
  52.     }
  53.     (*row)--;
  54.  
  55.     return matrix;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement