typedef struct { const unsigned int x; const unsigned int y; void*** ptr; } matrix2d; matrix2d* create_matrix2d(unsigned int x, unsigned int y); void deconstruct_matrix2d(matrix2d* mat); void print_matrix2d(matrix2d* mat); void fill_rand_matrix2d(matrix2d* mat); void set_elem_matrix2d(matrix2d* mat, void* elem, unsigned int x, unsigned int y); bool not_equal_mtrx(matrix2d* matA, matrix2d* matB); bool equal_mtrx(matrix2d* matA, matrix2d* matB); matrix2d* get_row_matrix2d(matrix2d* mat, int y); matrix2d* get_column_matrix2d(matrix2d* mat, int x); matrix2d* transpond_mtrx(matrix2d* mat);