Bob103

C#_Shuttle

Nov 24th, 2017
27
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.89 KB | None | 0 0
  1. class Program
  2.     {
  3.         static void Shuttle(double[,] arr)
  4.         {
  5.             List<double> P = new List<double>();
  6.             List<double> A = new List<double>();
  7.             List<double> Q = new List<double>();
  8.             P.Add(arr[0, 0]);
  9.             A.Add(-arr[0, 1] / P[0]);
  10.             Q.Add(arr[0,arr.GetLength(0)] / P[0]);
  11.             /////////////////////////////////////////////
  12.             int j = 0;//под главной
  13.             for(int i = 1; i < arr.GetLength(0); i++)
  14.             {
  15.                 int m = i + 1;//над главной
  16.                 P.Add(arr[i, i] + arr[i, j] * A[j]);
  17.                 A.Add(-arr[i, m] / P[i]);
  18.                 Q.Add((arr[i, arr.GetLength(0)] - arr[i, j] * Q[j]) / P[i]);
  19.                 j++;
  20.             }
  21.             A.Remove(A[A.Count-1]);
  22.             /////////////////////////////////////////////
  23.             List<double> X = new List<double>(arr.GetLength(1)-1);
  24.             X.Add(Q[Q.Count - 1]);
  25.             Console.WriteLine("X[" + Q.Count + "]=" + X[0]);
  26.             int jj = 0;
  27.             for(int i = A.Count; i > 0; i--)
  28.             {
  29.                 X.Add(A[i-1] * X[jj] + Q[i-1]);
  30.                 jj++;
  31.                 Console.WriteLine("X[" + i + "]=" + X[jj]);
  32.             }
  33.         }
  34.  
  35.         public static void Main()
  36.         {
  37.             double[,] array = new double[,] { { 2, -1, 0, 0, 0, -25 }, { -3, 8, -1, 0, 0, 72 },
  38.                 { 0, -5, 12, 2, 0, -69 },{ 0, 0, -6, 18, -4, -156 },{0,0,0,-5,10,20 } };
  39.             for(int i = 0; i < array.GetLength(0); i++)
  40.             {
  41.                 for(int j = 0; j < array.GetLength(1); j++)
  42.                 {
  43.                     Console.Write(array[i, j] + "");
  44.                     Console.Write("|");
  45.                 }
  46.                 Console.WriteLine();
  47.             }
  48.             Console.WriteLine();
  49.             Shuttle(array);
  50.         }
  51.     }
Advertisement
Add Comment
Please, Sign In to add comment