Professional Documents
Culture Documents
Gauss Jordan 2
Gauss Jordan 2
h>
2. #include<conio.h>
3.
int main()
4. {
5.
int i, j, k, n;
6.
float a[10][10] = { 0 }, d;
7.
cout << "Numarul de ecuatii ? ";
8.
cin >> n;
9.
cout << "Citeste toti coeficientii matricii si respectiv pentru
matricea b" << endl;
10.
for (i = 1; i <= n; i++)
11.
for (j = 1; j <= n; j++)
12.
cin >> a[i][j];
13.
for (i = 1; i <= n; i++)
14.
for (j = 1; j <= 2 * n; j++)
15.
if (j == (i + n))
16.
a[i][j] = 1;
17.
/************** pivotare partiala **************/
18.
for (i = n; i > 1; i--)
19.
{
20.
if (a[i - 1][1] < a[i][1])
21.
for (j = 1; j <= n * 2; j++)
22.
{
23.
d = a[i][j];
24.
a[i][j] = a[i - 1][j];
25.
a[i - 1][j] = d;
26.
}
27.
}
28.
cout << "rezultatul pivotarii: " << endl;
29.
for (i = 1; i <= n; i++)
30.
{
31.
for (j = 1; j <= n * 2; j++)
32.
cout << a[i][j] << "
";
33.
cout << endl;
34.
}
35.
/********** reducerea la matricea diagonala ***********/
36.
for (i = 1; i <= n; i++)
37.
{
38.
for (j = 1; j <= n * 2; j++)
39.
if (j != i)
40.
{
41.
d = a[j][i] / a[i][i];
42.
for (k = 1; k <= n * 2; k++)
43.
a[j][k] -= a[i][k] * d;
44.
}
45.
}
46.
/************** reducerea la matricea unitate *************/
47.
for (i = 1; i <= n; i++)
48.
{
49.
d = a[i][i];
50.
for (j = 1; j <= n * 2; j++)
51.
a[i][j] = a[i][j] / d;
52.
}
53.
cout << "solutiile: " << endl;
54.
for (i = 1; i <= n; i++)
55.
{
56.
for (j = n + 1; j <= n * 2; j++)
57.
cout << a[i][j] << "
";
58.
cout << endl;
}
59.
getch();
60.
return 0; }