for (i = 0; i < tam; i++) { for (j = 0; j < tam; j++) { result[i][j] = a[i][j] + b[i][j];
/*------------------------------------------------------------------------------*/ //funkcja odejmująca jedną macierz od drugiej void subtract(double **a, double **b, double **result, int tam) {
int i, j;
for (i = 0; i < tam; i++) { for (j = 0; j < tam; j++) { result[i][j] = a[i][j] - b[i][j];
/*------------------------------------------------------------------------------*/ // Ta funkcja alokuje macierz przy użyciu funkcji malloc oraz inicjalizuje ją. Jeżeli zmienna losowa // jest zerem to funkcja inicjalizuje macierz o wartościach zerowych, jeżeli jest jedynką to inicjalizuje // inicjalizuje macierz z losowymi wartościami. Jeżeli jest jakąkolwiek inną wartością to macierz jest // inicjalizowana bez żadnych wartości Zmienna tam określa długość macierzy. double **allocate_real_matrix(int tam, int random) {
int i, j, n = tam, m = tam; double **v, a; // wskaźnik na wektor
// alokuje jeden wektor wektoru (macierz) v = (double**) malloc(n * sizeof(double*));
if (v == NULL) { printf ("** Blad alokacji macierzy: Niewystarczajaca pamiec **"); return (NULL);
// alokacja każdego rzędu macierzy for (i = 0; i < n;