Перевод с Pascal на C#. Метод Гаусса
Формулировка задачи:
Помогите ,пожалуйста, нужно перевести на С#
Листинг программы
- program ideone;
- const n = 3;
- var L,i,k,LL,m,j,i2:integer;
- z,c,s:real;
- a,a1:array[1..n,1..n] of real;
- begin
- for i:=1 to n do
- begin
- for k:=1 to n do
- begin
- writeln('a(',i,k,')=');
- read(a[i,k]);
- a1[i,k]:=0;
- end;
- a1[i,i]:=1;
- end;
- for L:=1 to n-1 do
- begin
- LL:=L;
- for j:=L+1 to n do
- if abs(a[j,L])>abs(a[LL,L]) then LL:=j;
- if LL>L then
- begin
- for k:=L to n do
- begin
- z:=a[L,k];
- a[L,k]:=a[LL,k];
- a[LL,k]:=z;
- end;
- for i2:=1 to n do
- begin
- z:=a1[L,i2];
- a1[L,i2]:=a1[LL,i2];
- a1[LL,i2]:=z
- end;
- end;
- for i:=L+1 to n do
- begin
- c:=-a[i,L]/a[L,L];
- a[i,L]:=0;
- for k:=L+1 to n do a[i,k]:=a[i,k]+c*a[L,k];
- for j:=1 to n do a1[i,j]:=a1[i,j]+c*a1[L,j];
- end;
- end;
- for m:=1 to n do
- begin
- a1[n,m]:=a1[n,m]/a[n,n];
- for i:=n-1 downto 1 do
- begin
- s:=a1[i,m];
- for k:=i+1 to n do s:=s-a[i,k]*a1[k,m];
- a1[i,m]:=s/a[i,i];
- end;
- end;
- for i:=1 to n do for k:=1 to n do
- writeln(a1[i,k]);
- end.
Решение задачи: «Перевод с Pascal на C#. Метод Гаусса»
textual
Листинг программы
- using System;
- namespace Haus
- {
- class Program
- {
- public static void Main(string[] args)
- {
- const int n = 2;
- int L,i,k,LL,m,j,i2;
- double z,c,s;
- double[,] a;
- a= new double[n,n];
- double[,] a1;
- a1= new double[n,n];
- for(i=0;i<n;i++)
- {
- for( k=0;k<n;k++)
- {
- Console.Write("a[{0},{1}] = ", i, k);
- a[i, k] = Convert.ToDouble(Console.ReadLine());
- a1[i,k]=0;
- }
- Console.WriteLine();
- a1[i,i]=1;
- }
- for ( L = 1; L < n-1; L++)
- {
- LL = L;
- for ( j = L + 1; j < n; j++)
- {
- if (Math.Abs(a[j, L]) > Math.Abs(a[LL, L]))
- {
- LL = j;
- }
- }
- if (LL > L)
- {
- for ( k = L; k < n; k++)
- {
- z = a[L, k];
- a[L, k] = a[LL, k];
- a[LL, k] = z;
- }
- for ( i2 = 1; i2 < n; i2++)
- {
- z = a1[L, i2];
- a1[L, i2] = a1[LL, i2];
- a1[LL, i2] = z;
- }
- }
- for (i = L + 1; i < n; i++)
- {
- c = -a[i, L] / a[L, L];
- a[i, L] = 0;
- for ( k = L + 1; k < n; k++)
- {
- a[i, k] = a[i, k] + c * a[L, k];
- }
- for ( j = 1; j < n; j++)
- {
- a1[i, j] = a1[i, j] + c * a1[L, j];
- }
- }
- }
- for ( m = 1; m < n; m++)
- {
- for (i = n - 1; i < 1;i++)
- {
- a1[n, m] = a1[n, m] / a[n, n];
- s = a1[i, m];
- for ( k = i + 1; k < n; k++)
- {
- s = s - a[i, k] * a1[k, m];
- a1[i, m] = s / a[i, i];
- }
- }
- }
- for ( i = 0; i <n; i++)
- {
- for ( k = 0; k <n; k++)
- {
- Console.WriteLine("{0}", a1[i, k]);
- Console.ReadKey();
- }
- Console.WriteLine();
- }
- Console.WriteLine();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д