19.03.2013, 17:14 | #1 (permalink) |
Новичок
Регистрация: 29.06.2012
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Не могу найти ошибку
var a:array [1..100,1..100] of real; x:array[1..100] of real; i,j,k,n:integer; d,c,h:real; begin write('n='); read(n); for i:=1 to n do begin for j:=1 to n+1 do a[i,j]:=random(10); end; for i:=1 to n do begin for j:=1 to n+1 do begin write(a[i,j],' '); end; end; for i:=1 to n-1 do begin if a[i,i]<>0 then begin for j:=i+1 to n do begin d:=a[j,i]/a[i,i]; for k:=1 to n+1 do a[j,k]:=a[j,k]-d*a[i,k]; end; end else for j:=i+1 to n do begin if a[j,i]<>0 then begin for k:=1 to n+1 do begin c:=a[i,k]; a[i,k]:=a[j,k]; a[j,k]:=c; end; d:=a[j,i]/a[i,i]; for k:=1 to n+1 do a[j,k]:=a[j,k]-d*a[i,k]; end; end; end; for i:=1 to n do begin for j:=1 to n+1 do begin write(a[i,j],' '); end; end; x[n]:=a[n,n+1]/a[n,n]; for i:=n-1 downto 1 do begin h:=0; for j:=i+1 to n do h:=h+x[j]*a[i,j]; x[i]:=(a[i,n+1]-h)/a[i,i]; end; write('Корни уравнения'); for i:=1 to n do writeln('x(',i,')=',x[i]:0:0); end. Вроде надо ещё сделать проверку, чтобы главная диагональ не была равна 0. |
19.03.2013, 17:14 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Пока вам что то советуют, могу предложить обратить внимание на эти ссылки Не могу найти ошибку Найти ошибку Не могу найти ошибку Строки. Не могу найти ошибку в программе Помогите найти ошибку Pascal ABC, ООП. Не могу найти ошибку |
19.03.2013, 17:17 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
А как насчет задачу сформулировать? Всё пальчики жалеем, чтобы не перетрудились, бедненькие?
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Метки |
ошибки |
|
|