Массив: Получить вектор В, где bi – значение суммы элементов, расположенных до максимального элемента i-й строки... - C#

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

Дана квадратная матрица вещественных чисел. Получить вектор В, где bi – значение суммы элементов, расположенных до максимального элемента i-й строки, если элемент главной диагонали в этой строке отрицателен, в противном случае bi – значение суммы элементов, расположенных после максимального.

Код к задаче: «Массив: Получить вектор В, где bi – значение суммы элементов, расположенных до максимального элемента i-й строки... - C#»

textual
static void Main(string[] args)
        {
            Console.Write("Введите размерность квадратной матрицы вещественных чисел n=");
            int n = int.Parse(Console.ReadLine());
 
            float [,] Mas = new float [n,n];
            float[] B = new float[n];
 
            float Sum;            
 
            Console.WriteLine("Массив:");
            Random rnd = new Random(DateTime.Now.Millisecond);
            for (int i = 0; i < n; i++)
            {         
                for (int j = 0; j < n; j++)
                {
                    Mas[i,j] = rnd.Next(-20, 20)/2;                
                    Console.Write(Mas[i,j] + " ");              
                }
                Console.WriteLine();                    
            }
 
            Console.WriteLine(); 
 
 
            for (int i = 0; i < n; i++)
            {
                // Находим MAX
                float Max = -100;
                int posMax = 0;
                for (int j = 0; j < n; j++)
                {
                    if (Mas[i, j] > Max)
                    {
                        Max = Mas[i, j];
                        posMax = j;
                    }
 
                }
                
                // Сумма до Max элемента
                if (Mas[i, i] < 0)
                {
                    for (int j = 0; j < posMax; j++)
                        B[i] += Mas[i, j];
                    Console.Write( B[i] + " ");   
                }
 
                // Сумма после Max элемента
                else
                {
                    for (int j = posMax+1; j < n; j++)
                        B[i] += Mas[i, j];
                    Console.Write(B[i] + " ");      
                }
            }
 
                Console.ReadKey();
 
        }

8   голосов, оценка 3.750 из 5


СОХРАНИТЬ ССЫЛКУ