Решить методом гаусса с выбором главного элемента. я вроде все сделала, но программа выдает ошибку в 17 строке:
1. const n=4;
2. a: array[1..n,1..n] of real=((1, -0.1, -0.2, -0.3),
3. (0.1, 1, -0.1, 0.2),
4. (0.1, 0.15, 1, -0.05),
5. (0.15, 0.1, 0.005, 1));
6. b: array[1..n] of real= (0, 0.5, -0.5, 0.75);
7. var z,m: real; i,j,k: integer; x,y: array[1..n] of real;
8. begin for i: =1 to n-1 do
9. begin {прямой ход метода гаусса}
10. m: =a[i,i]; k: =i; {ищем главный элемент}
11. for j: =i+1 to n do
12. if a[j,i]> m then begin m: =a[j,i]; k: =j end;
13. for j: =i to n do
14. begin {переставляем уравнения}
15. z: =a[i,j]; a[i,j]: =a[k,j]; a[k,j]: =z
16. end;
17. z: =b[i]; b[i]: =b[k]; b[k]: =z;
18. for j: =i+1 to n do
19. begin {исключаем i-тую переменную}
20. z: =a[j,i];
21. for k: =i to n do a[j,k]: =a[i,i]*a[j,k]-z*a[i,k];
22. b[j]: =a[i,i]*b[j]-z*b[i]
23. end
24. end;
25. for i: =n downto 1 do
26. begin z: =0;
27. for j: = n downto i+1 do z: =z+a[i,j]*x[j];
28. x[i]: =(b[i]-z)/a[i,i]
29. end;
30. for i: =1 to n do write(x[i]: 6: 4,' '); readln end.
1) 2,375+(х+1,627)=4,56
х+1,627=4,56-2,375
х+1,627= 2,185
x=2,185-1,627
x=0,558
проверка: 2,375+( 0,558 +1,627)=4,56
2,375+2,185=4,56
4,56=4,56
ответ: х=0,558
2,а) 8,6-(х+2,75)=1,85 проверка: 8,6-(4+2,75)=1,85
х+2,75=8,6-1,85 8,6-6,75=1,85
х+2,75 =6,75 1,85=1,85
х=6,75-2,75
х=4
ответ: х=4
2,б) 5,732+(х+7,269)=645 проверка: 5,732+( 631,999 +7,269)=645
х+7,269=645-5,732 5,732+639,268=645
х+7,269=639,268 645=645
х=631,999
ответ: х=631,999
2,в) 29,1-(х+7,08)=6-4,357 проверка: 29,1-( 20,377 +7,08)=6-4,357
29,1-(х+7,08)=1,643 29,1-27,457=1,643
х+7,08=29,1-1,643 1,643= 1,643
х+7,08=27,457
х= 27,457- 7,08
х=20,377
ответ: х=20,377