fork download
  1. program ideone;
  2. // Перед вами - WEB-среда разработки PascalABC.NET (версия 1.0, апрель 2011 г.).
  3. // Она основана на современном языке PascalABC.NET, совместимом с Turbo Pascal
  4. // и Delphi Pascal. Программа запускается на сервере, ввод-вывод передается по сети.
  5. // Программу можно опубликовать и ссылаться на нее в Интернете в виде
  6. // http://p...content-available-to-author-only...c.net/WDE/?file=имя_опубликованного_файла.pas
  7. // Зарегистрированные пользователи получают дополнительные возможности:
  8. // долговременное хранение своих программ, возможность работы с папками
  9. var
  10. c,d:integer;
  11.  
  12. procedure P(x,y:integer);
  13. begin
  14. y:=x+1;
  15. end;
  16.  
  17. procedure Q(x:integer; var y:integer);
  18. begin
  19. y:=x+1;
  20. end;
  21.  
  22. // procedure R(var x,y:integer);
  23. // begin
  24. // y:=x+1;
  25. // end;
  26.  
  27. begin
  28. c:=2; d:=0; P(sqr(c)+c,d); writeln(d);
  29. //c:=2; d:=0; Q(sqr(c)+c,d); writeln(d);
  30. //c:=2; d:=0; R(sqr(c)+c,d); writeln(d);
  31. end.
Success #stdin #stdout 0.01s 5244KB
stdin
Program Salichov;
const n=6; m1=7;
type
      mas=array[1..n,1..m1] of real;
      stb=set of byte;
      vec=array[1..n] of real;
var
     i,j,k,m:integer;
     s:stb;
     j0:byte;
     max,ss:real;
     r,x:vec;
     a:mas;f:vec;
procedure Gauss(n:integer;a:mas;var x:vec);
     var
         l:array[1..21] of integer;
         i,j,k,m:integer;
begin
        s:=[];
        for i:=1 to n do
 begin
          max:=a[i,1]; j0:=1;
          for j:=1 to n do if abs(a[i,j])>abs(max) then
     begin
          max:=a[i,j];j0:=j; end;
         l[i]:=j0;
         s:=s+[j0];
     if max=0 then exit;
     for k:=1 to n do if k<>i then
     for m:=1 to n+1 do if not(m in s) then
     a[k,m]:=(a[k,m]*a[i,j0]-a[i,m]*a[k,j0])/max;
     for m:=1 to n+1 do if not(m in s) then
     a[i,m]:=a[i,m]/max;
     for k:=1 to n do  a[k,j0]:=0;
     a[i,j0]:=1;
 end;
      for k:=1 to n do
      begin
        i:=l[k];
        x[i]:=a[k,n+1]; end;
      if max=0 then
      begin  write(' det=0'); writeln; exit;end;
end;
begin 
for i := 1 to n do
  begin
    for j := 1 to n do
    begin
      if i=j then A[i, j] := Power(-1, i + j) * sin(Pi * i * j / 7) + 7 
      else A[i, j] := Power(-1, i + j) * sin(Pi * i * j / 7);
    end;
    f[i] := 0;
    for k := 1 to 20 do
    begin
      f[i] := f[i] + 1 / (k + sin(Pi * i / 20) * sin(Pi * i / 20));
    end;
  end;
for i:=1 to n do 
   a[i,7]:=f[i];
      Gauss(n,a,x);
      writeln('решение методом Гаусса ');
      for i:=1 to n  do
      writeln('x[',i,']=',x[i]:12:5);
      
      writeln ('вектор невязки');
      for i:=1 to n do
      begin ss:=0;
      for j:=1 to n do
      ss:=ss+a[i,j]*x[j];
      r[i]:=ss-a[i,7];
      writeln ('r[',i,']=',r[i]);
      end;
      
end.
stdout
0