Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- matr_t matrix_cpy(matr_t matrix, int row, int col)
- {
- matr_t matrix_b = malloc(sizeof(matr_t));
- for(int i = 0; i < row; i++)
- {
- *(matrix_b + i) = malloc(sizeof(arr_t) * col);
- }
- for(int i = 0; i < row; i++)
- for(int j = 0; j < col; j++)
- {
- *(*(matrix_b + i) + j) = *(*(matrix + i) + j);
- }
- return matrix_b;
- }
- matr_t matr_pow(matr_t matrix, int degree, int row, int col)
- {
- matr_t matrix_b = matrix_cpy(matrix, row, col);
- for(int k = 1; k < degree; k++)
- {
- for (int i = 0; i < row; i++)
- {
- arr_t arr_tmp = calloc(col, sizeof(int));
- for (int j = 0; j < col; j++)
- for (int q = 0; q < col; q++)
- arr_tmp[j] += matrix[i][q] * matrix_b[q][j];
- free(*(matrix + i));
- *(matrix + i) = arr_tmp;
- }
- }
- matrix_delete(matrix_b, row, col);
- return matrix;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement