zoukankan      html  css  js  c++  java
  • bzoj1013

    裸的高斯消元不多说

     1 var a:array[0..12,0..12] of double;
     2     b:array[0..12] of double;
     3     p,i,j,k,n:longint;
     4     x:double;
     5 
     6 procedure swap(var a,b:double);
     7   var c:double;
     8   begin
     9     c:=a;
    10     a:=b;
    11     b:=c;
    12   end;
    13 
    14 procedure gauss;
    15   begin
    16     for i:=1 to n do
    17     begin
    18       p:=i;
    19       for j:=i to n do
    20         if abs(a[p,i])<abs(a[j,i]) then p:=j;
    21       if p<>i then
    22       begin
    23         for j:=1 to n+1 do
    24           swap(a[p,j],a[i,j]);
    25       end;
    26       for j:=i+1 to n do
    27         if a[j,i]<>0 then
    28         begin
    29           for k:=n+1 downto i do
    30             a[j,k]:=a[j,k]-a[i,k]*a[j,i]/a[i,i];
    31         end;
    32     end;
    33     for i:=n downto 1 do
    34     begin
    35       for j:=i+1 to n do
    36         a[i,n+1]:=a[i,n+1]-a[j,n+1]*a[i,j];
    37       a[i,n+1]:=a[i,n+1]/a[i,i];
    38     end;
    39   end;
    40 
    41 begin
    42   readln(n);
    43   for i:=1 to n do
    44     read(b[i]);
    45   for i:=1 to n do
    46   begin
    47     for j:=1 to n do
    48     begin
    49       read(x);
    50       a[i,j]:=(x-b[j])*2;
    51       a[i,n+1]:=a[i,n+1]+sqr(x)-sqr(b[j]);
    52     end;
    53   end;
    54   gauss;
    55   for i:=1 to n do
    56   begin
    57     write(a[i,n+1]:0:3);
    58     if i<>n then write(' ');
    59   end;
    60   writeln;
    61 end.
    View Code
  • 相关阅读:
    matlab2016b和c# .net4.0混合编程
    有限元入门
    math.net 拟合
    excel 错误提示以及其他基础知识
    excel的小bug
    Servlet体系及方法
    Servlet学习笔记
    HTTP协议
    Tomcat
    反射
  • 原文地址:https://www.cnblogs.com/phile/p/4473140.html
Copyright © 2011-2022 走看看