Gausselimination i c?

Gausselimination i c?

#include
#include
#include
#include

void main(void)
{
int K, P, C, J;
dubbla en [100] [101];
int N;
int rad [100].
dubbel X [100].
dubbla summan, M;
int T;

göra
{
printf ("Skriv in antal ekvationer [inte mer än %d]\n",100);
scanf ("%d", &N);
} medan (N > 100);

printf ("Du säger det finns %d ekvationer. \n", N);

printf ("från AX = B ange delar av [A, B] raden av raden: \n");

för (K = 1; KARLSSON<= n;="">
{
för (J = 1; J<= n+1;="">
{
printf ("Ange elementet %d för rad %d vänligen: \n", K, J);
scanf ("% lf", &A[K-1][J-1]);

}
}

för (J = 1; J<= n;="" j++)="" row[j-1]="J" -="">

för (P = 1; PERSSON<= n="" -="" 1;="">
{

för (K = P + 1. KARLSSON<= n;="">
{
om (fabs(A[Row[K-1]][P-1]) > fabs(A[Row[P-1]][P-1]))
{

T = rad [P-1];
Rad [P-1] = Row [K-1];
Rad [K-1] = T;
}
}

om ([rad [P-1]] [P-1] 0)
{
printf ("matrix är SINGULARIS! \n");
printf kan inte ("använda algoritmen---avsluta\n");
Exit(1);
}

X [N-1] = [rad [N-1]] [N] / [rad [N-1]] [N-1];

för (K = N - 1. K > = 1; K--)
{
SUMMA = 0;
för (C = K + 1. C<= n;="">
{
SUMMA += [rad [K-1]] [C-1] * X [C-1];
}

X [K-1] = ([rad [K-1]] [N] - summan) / A [rad [K-1]] [K-1];

}

för (K = 1; KARLSSON<= n;="">
printf ("X [%d] = %lf\n", K, X[K-1]);
getch();

}

  • Relaterade Frågor

  • Programmet beräkna determinant för matriser i matlab?