Dla danej macierzy kwadratowej A napisz funkcję, która zwróci jej macierz diagonalną.
Tutaj jest moje rozwiązanie
Kod: Zaznacz cały
double** diag (double** A, int n)
{
for(int k = 0; k < n; ++k)
{
for(int i = 0; i < k; ++i)
for(int j = k; j < n; ++j)
A[i][j] -= A[i][k] / A[k][k] * A[k][j];
for(int i = k + 1; i < n; ++i)
for(int j = k; j < n; ++j)
A[i][j] -= A[i][k] / A[k][k] * A[k][j];
}
return A;
}
Proszę o jakieś wskazówki.