|
Вопрос # 4 664/ вопрос открыт / |
|
Здраствуйте! уважаемые эксперты ! Помогите пожалуйста !!!!!!!!!
Программа решает матрицу с помощью метода гаусса,все правильно работает ,кроме процедуры проверки. Исправте пожалуйста код, процедуру( которая делает проверку). Заранее спасибо. !!!
Приложение: Переключить в обычный режим- program Project2;
-
- {$APPTYPE CONSOLE}
-
- uses
- SysUtils ;
- const n=3;
- type matrix=array[1..n,1..n] of real;
- vector=array[1..n] of real;
- var a:matrix;
- b,x,g:vector;
-
-
- procedure gen(var m:matrix; var v:vector);
- var i,j:integer;
- begin
- for i:=1 to n do begin
- for j:=1 to n do m[i,j]:=random(10);
- v[i]:=random(10);
- end;
- end;
-
- procedure show(var a:matrix; var b:vector);
- var i,j:integer;
- begin
- for i:=1 to n do begin
- for j:=1 to n do write(a[i,j]:3:0);
- writeln(b[i]:3:0);
- end;
- writeln;
- end;
-
- var i,j:integer; c,l:real;
- begin
- for j:=1 to n do
- a[i,j]:=c;
- x[i]:=l;
- g[i]:=l*c;
- writeln(g[i]:10:3);
- write;
- end;
-
- procedure showx(x:vector {J;vector} );
- var i:integer;
- begin
- for i:=1 to n do writeln(x[i]:10:3);
- {j[i]:=x[i];
- writeln(j[i]:10:3);}
- write;
- end;
-
- procedure Gauss(var a:matrix; var b,x:vector);
- var i,j,k:integer; c,d,f :real;
- begin
- for k:=1 to n-1 do begin
-
- if a[k,k]=0 then
- for i:=k+1 to n do
- if a[i,k]<>0 then begin
- for j:=1 to n do begin c:=a[k,j]; a[k,j]:=a[i,j]; a[i,j]:=c; end;
- c:=b[k]; b[k]:=b[i]; b[i]:=c;
- break;
- end;
- for i:=k+1 to n do begin
- c:=-a[i,k]/a[k,k];
- for j:=1 to n do a[i,j]:=a[i,j]+c*a[k,j];
- b[i]:=b[i]+c*b[k];
- end;
- end;
- for k:=n downto 2 do
- for i:=k-1 downto 1 do begin
- c:=-a[i,k]/a[k,k];
- for j:=1 to n do a[i,j]:=a[i,j]+c*a[k,j];
- b[i]:=b[i]+c*b[k];
- end;
- for k:=1 to n do x[k]:=b[k]/a[k,k];
- end;
-
- begin
- randomize;
- gen(a,b);
- show(a,b);
- gauss(a,b,x);
- showx(x);
- proverca(g,x,a);
- readln ;
- { TODO -oUser -cConsole Main : Insert code here }
- end.
 |
Вопрос задал: Джон (статус: Посетитель)
Вопрос отправлен: 17 октября 2010, 15:32
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 6; последнее сообщение — 17 октября 2010, 18:49; участников в обсуждении: 2.
|
min@y™ (статус: Доктор наук), 17 октября 2010, 16:53 [#1]:
У меня дежавю?
А как же вопрос №4657? Уже не актуален?
Цитата (min@y™):
Я уж хотел повторно спросить "что не получается", но... Остальной код писал не ты, да? Признайся... Так бы и сказал: "напишите за меня лабу". Грустно... Но возможно.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Джон (статус: Посетитель), 17 октября 2010, 18:24 [#2]:
Вот так должно быть ???? ил по другому ???
procedure proverca(a:matrix;x,b:vector;var y:vector);
var i,j:integer;
f:boolean;
begin
writeln('Проверка:');
f:=true;
for i:=1 to n do
begin
y[i]:=0;
for j:=1 to n do
y[i]:=y[i]+a[i,j]*x[j];
writeln('y[',i,']=',y[i]:3:0);
if abs(b[i]-y[i])>t then f:=false;
end;
if f then writeln('Система решена верно!')
else writeln('Система решена не верно!');
end;
|
|
min@y™ (статус: Доктор наук), 17 октября 2010, 18:35 [#3]:
Цитата (Джон):
Вот так должно быть ???? ил по другому ???
Чо так мало вопросительных знаков????????????????????????
И вообще, зачем ты спрашиваешь?????????????????????????? Сам проверить не можешь????????????????????
Почему??????????????????!!!!!!!!!!!!!!!!!!!!11111111111111
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Джон (статус: Посетитель), 17 октября 2010, 18:42 [#4]:
Проверил. Работает.Извини, если что не так. Я просто плохо
соображаю в этом деле.Еще не очень хорошо знаю синтаксис языка.
|
|
min@y™ (статус: Доктор наук), 17 октября 2010, 18:47 [#5]:
Цитата (Джон):
Еще не очень хорошо знаю синтаксис языка.
Это ты про русский язык, да?
Я так и знал!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
min@y™ (статус: Доктор наук), 17 октября 2010, 18:49 [#6]:
Главное, что концепция, изложенная мной в форуме вопроса 4657, помогла тебе включить мозг. И это меня радует (©).
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|