olmovc написав:Кожен рядок матриці A на першій і останній позиції містить індекси відповідно початку і кінця діапазону елементів рядка, які необхідно переписати у відповідний рядок матриці B. Створити матрицю B з необхідною кількістю стовпчиків у кожному рядку та переписати до неї вказані елементи з матриці A. Відсортувати кожен рядок матриці A за зростанням.
Ось такі були початкові умови якщо були зміни то напишіть Правильну умову задачі.
 Умова залишилась такою ж,але,щоб вона виконувалась,потрібно,щоб значення першого елемента у кожному рядку матриці було меншим,ніж значення останнього елемента у рядку,а також,щоб їх значення не перевищували кількість елементів у рядку.Цю частину умови я зробила,ось код 
using System;
namespace Ex06
{
    class Program
    {
        static int[,] A;
        static int[][] B;
        public static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            // TODO: Implement Functionality Here
            SetA();
            ShowA();
            //SetB();
            //ShowB();
            SortA();
            ShowA();
            Console.Write("Press any key to continue . . . ");
            Console.ReadKey(true);
        }
        /// <summary>
        /// Заповнити масив A
        /// </summary>
        static void SetA()
        {
            int rows, cols, fill;
            Console.Clear();
            Console.WriteLine("Введiть кiлькiсть рядкiв i стовпчикiв матрицi:");
            cols = rows = int.Parse(Console.ReadLine());
            //cols = int.Parse(Console.ReadLine());
            A = new int[rows, cols];
            // кількість рядків, кількість стовпчиків і коефіцієнт заповнення матриці A
            //Console.WriteLine("Введiть коефiцiєнт заповнення матрицi (0...100 %):");
            // fill = int.Parse(Console.ReadLine());
            fill = 100;
            Random Rnd = new Random();
            // заповнення матриці випадковими числами із заданою щільністю
            int fillcount = fill * rows * cols / 100, pos = 0;
            while (pos < fillcount)
            {
                int rpos = Rnd.Next(A.GetLength(0));
                int cpos = Rnd.Next(A.GetLength(1));
                if (A[rpos, cpos] == 0)
                {
                    A[rpos, cpos] = Rnd.Next(2, rows + 1);
                    ++pos;
                }
            }
            for (int i = 0; i < rows; i++)
            {
                for (int j = 0; j < cols; j++)
                {
                    if (A[i, 0] > A[i, cols - 1])
                    {
                        int t = A[0, j];
                        A[i, 0] = A[i, cols - 1];
                        A[i, cols - 1] = t;
                    }
                //    else if (A[i, 0] == A[i, cols - 1])
                //    {
                //        SetB();
                //    }
                //    else SetB();
                }
            }
        }
        //static void SetB()
        //{
        //    //int rows = A.GetLength(0);
        //    //int cols = rows;
        //    //int i = 0;
        //    //int a = A[i, cols] - A[i, 0];
        //    //for (i = A[i, 0]; i < a; i++)
        //    //{
        //    //    for (int j = 0; j < cols; j++)
        //    //    {
        //    //        B[i][0] = A[i, A[i, 0] + i];
        //    //    }
        //    //}
        //    int rowsCount = A.GetLength(0);
        //    B = new int[rowsCount][];
        //    int startPos = 0, endPos = 0;
        //    for (int i = 0; i < rowsCount; i++)
        //    {
        //        int colsCount = A.GetLength(1);
        //        startPos = A[i, 0];
        //        endPos = A[i, colsCount - 1];
        //        int lengthRowB = endPos - startPos;
        //        if ((lengthRowB < 1) || (lengthRowB > colsCount))
        //        {
        //            B[i] = new int[0];
        //            continue;
        //        }
        //        endPos--;
        //        startPos--;
        //        if ((endPos >= colsCount) || (startPos >= colsCount))
        //        {
        //            B[i] = new int[0];
        //            continue;
        //        }
        //        if ((endPos < 0) || (startPos < 0))
        //        {
        //            B[i] = new int[0];
        //            continue;
        //        }
        //        B[i] = new int[lengthRowB];
        //        int count = 0;
        //        for (int col = startPos; col < endPos; col++)
        //        {
        //            B[i][count] = A[i, col];
        //            //Console.WriteLine("r={0},B={1}",i,B[i][count]);
        //            count++;
        //        }
        //    }
        //}
        //<summary>
        //вивід матриці на дисплей
        //</summary>
        static void ShowA()
        {
            // вивід матриці на дисплей
            Console.WriteLine("Вмiст матрицi A:");
            for (int i = 0; i < A.GetLength(0); i++)
            {
                for (int j = 0; j < A.GetLength(1); j++)
                {
                    Console.Write("{0, 4}", A[i, j]);
                }
                Console.WriteLine();
            }
        }
        //static void ShowB()
        //{
        //    int cols = B.GetLength(1);
        //    int rows = B.GetLength(0);
        //    Console.WriteLine("---Матриця B--");
        //    for (int i = 0; i < rows; i++)
        //    {
        //        for (int j = 0; j < cols; j++)
        //            Console.Write("{0, 4}", B[i][j]);
        //        if (B[i].Length > 0)
        //            Console.WriteLine();
        //    }
        //    Console.WriteLine("---Матриця B--");
        //}
        static void SortA()
        {
            for (int i = 0; i < A.GetLength(0); i++)
            {
                int rowLength = A.GetLength(1);
                int[] arrayRow = new int[rowLength];
                for (int j = 0; j < rowLength; j++)
                {
                    arrayRow[j] = A[i, j];
                }
                Array.Sort(arrayRow);
                for (int j = 0; j < rowLength; j++)
                {
                    A[i, j] = arrayRow[j];
                }
            }
        }
    }
}
а от переписати потрібні елементи у матрицю В мені так і не вдається.
наприклад,якщо матриця
А=3 4 5 3 2 6 5
    4 5 6 2 1 1 4
    5 4 3 2 2 1 6
то матриця В буде виглядати так 
В=3 2 6
    1
    1 6