Перевод с Pascal на C#. Метод Гаусса

Узнай цену своей работы

Формулировка задачи:

Помогите ,пожалуйста, нужно перевести на С#
Листинг программы
  1. program ideone;
  2. const n = 3;
  3. var L,i,k,LL,m,j,i2:integer;
  4. z,c,s:real;
  5. a,a1:array[1..n,1..n] of real;
  6. begin
  7. for i:=1 to n do
  8. begin
  9. for k:=1 to n do
  10. begin
  11. writeln('a(',i,k,')=');
  12. read(a[i,k]);
  13. a1[i,k]:=0;
  14. end;
  15. a1[i,i]:=1;
  16. end;
  17. for L:=1 to n-1 do
  18. begin
  19. LL:=L;
  20. for j:=L+1 to n do
  21. if abs(a[j,L])>abs(a[LL,L]) then LL:=j;
  22. if LL>L then
  23. begin
  24. for k:=L to n do
  25. begin
  26. z:=a[L,k];
  27. a[L,k]:=a[LL,k];
  28. a[LL,k]:=z;
  29. end;
  30. for i2:=1 to n do
  31. begin
  32. z:=a1[L,i2];
  33. a1[L,i2]:=a1[LL,i2];
  34. a1[LL,i2]:=z
  35. end;
  36. end;
  37. for i:=L+1 to n do
  38. begin
  39. c:=-a[i,L]/a[L,L];
  40. a[i,L]:=0;
  41. for k:=L+1 to n do a[i,k]:=a[i,k]+c*a[L,k];
  42. for j:=1 to n do a1[i,j]:=a1[i,j]+c*a1[L,j];
  43. end;
  44. end;
  45. for m:=1 to n do
  46. begin
  47. a1[n,m]:=a1[n,m]/a[n,n];
  48. for i:=n-1 downto 1 do
  49. begin
  50. s:=a1[i,m];
  51. for k:=i+1 to n do s:=s-a[i,k]*a1[k,m];
  52. a1[i,m]:=s/a[i,i];
  53. end;
  54. end;
  55. for i:=1 to n do for k:=1 to n do
  56. writeln(a1[i,k]);
  57. end.

Решение задачи: «Перевод с Pascal на C#. Метод Гаусса»

textual
Листинг программы
  1. using System;
  2.  
  3. namespace Haus
  4. {
  5.     class Program
  6.     {
  7.  
  8.  
  9.                public static void Main(string[] args)
  10.         {
  11.             const int n = 2;
  12.             int L,i,k,LL,m,j,i2;
  13.             double z,c,s;
  14.             double[,] a;
  15.             a= new double[n,n];
  16.             double[,] a1;
  17.             a1= new double[n,n];
  18.  
  19.            
  20.             for(i=0;i<n;i++)
  21.             {
  22.                 for( k=0;k<n;k++)
  23.                 {
  24.                     Console.Write("a[{0},{1}] = ", i, k);
  25.                     a[i, k] = Convert.ToDouble(Console.ReadLine());
  26.                     a1[i,k]=0;
  27.                 }
  28.                 Console.WriteLine();
  29.                 a1[i,i]=1;
  30.             }
  31.             for ( L = 1; L < n-1; L++)
  32.             {
  33.                  LL = L;
  34.                 for ( j = L + 1; j < n; j++)
  35.                    
  36.                 {
  37.                     if (Math.Abs(a[j, L]) > Math.Abs(a[LL, L]))
  38.                     {
  39.                         LL = j;
  40.                     }
  41.                        
  42.                 }
  43.                      
  44.  
  45.                 if (LL > L)
  46.                 {
  47.                     for ( k = L; k < n; k++)
  48.                     {
  49.                         z = a[L, k];
  50.                         a[L, k] = a[LL, k];
  51.                         a[LL, k] = z;
  52.                     }
  53.                     for ( i2 = 1; i2 < n; i2++)
  54.                     {
  55.                         z = a1[L, i2];
  56.                         a1[L, i2] = a1[LL, i2];
  57.                         a1[LL, i2] = z;
  58.                     }
  59.                 }
  60.                 for (i = L + 1; i < n; i++)
  61.                 {
  62.                     c = -a[i, L] / a[L, L];
  63.                     a[i, L] = 0;
  64.                     for ( k = L + 1; k < n; k++)
  65.                     {
  66.                          a[i, k] = a[i, k] + c * a[L, k];
  67.                     }
  68.                        
  69.                    
  70.                     for ( j = 1; j < n; j++)
  71.                     {
  72.                         a1[i, j] = a1[i, j] + c * a1[L, j];
  73.                        
  74.                     }
  75.                    
  76.                 }
  77.             }
  78.  
  79.                 for ( m = 1; m < n; m++)
  80.                 {
  81.                        
  82.                        
  83.                     for (i = n - 1; i < 1;i++)
  84.                     {
  85.                         a1[n, m] = a1[n, m] / a[n, n];
  86.                         s = a1[i, m];
  87.                         for ( k = i + 1; k < n; k++)
  88.                         {
  89.                          s = s - a[i, k] * a1[k, m];
  90.                         a1[i, m] = s / a[i, i];
  91.                        
  92.                         }
  93.                          
  94.                        
  95.                     }
  96.                 }
  97.                 for ( i = 0; i <n; i++)
  98.                 {
  99.                     for ( k = 0; k <n; k++)
  100.                     {
  101.  
  102.                     Console.WriteLine("{0}", a1[i, k]);
  103.                     Console.ReadKey();
  104.                     }
  105.                    
  106.                       Console.WriteLine();
  107.                 }
  108.                 Console.WriteLine();
  109.                    
  110.            }
  111.         }
  112.  
  113.     }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.846 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы