Описать методы для работы с матрицей размерности MxN - C# (192956)

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

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

Описать методы для работы с матрицей размерности MxN. Размерность не превосходит10x10. Первый метод — для формирования элементов матрицы либо по правилу из задания либо случайным образом. Второй метод — для вывода матрицы на экран либо по правилу из задания либо полностью. Собственно с заданием возникли проблемы: Элементы первого столбца матрицы равны разности элементов, расположенных справа. Вот код
static void MatrixFormRule(int[,] someA, int x)
        {
            
                for (int i = 0; i < someA.GetLength(0); i++)
                {
                    for (int j = 0; j < someA.GetLength(1); j++)
                    {
                        Console.Write("Введите элемент массива No {0} X {1}: ", i + 1, j + 1);
                        someA[i, j] = int.Parse(Console.ReadLine());
 
                    }
                
            }
         
            // тут проблема
            if (true)
            {
                for (int i = 0 ,j = 1; i < someA.GetLength(0) && i < someA.GetLength(1) ; i++, j++ )
                {
                    
                        someA[i, 0] = someA[i, j] - someA[i, j+1];
                    
                }
            }
            
        }
 
        static void MatrixOutput(int[,] someA)
        {
            for (int i = 0; i < someA.GetLength(0); i++)
            {
                for (int j = 0; j < someA.GetLength(1); j++)
                {
                    Console.Write(someA[i, j] + " ");
                  
                }
                Console.WriteLine();
            }
        }

        static void Main(string[] args)
        {
 
            int M = 3; int N = 3;
            int[,] A = new int[M, N];
            int x = 10;
 
            MatrixFormRule(A, x);
            MatrixOutput(A);
 
            Console.ReadLine();
        }

Решение задачи: «Описать методы для работы с матрицей размерности MxN»

textual
Листинг программы
class Program {
    static void Main(string[] args) {
        double[,] m = new double[10, 10];
        FillMatrixWithRule(m);
        PrintMatrix(m);
        Console.Read();
    }
    /// <summary>
    /// Заполнение матрицы по правилу: элементы первого столбца
    /// являются разностью элементов, стоящих справа
    /// </summary>
    static void FillMatrixWithRule(double [,] m) {
        FillMatrix(m);
        double diff = 0;//Разность элементов справа от первого столбца
        for (int i = 0; i < m.GetLength(0); i++) {
            diff = m[i, 1];
            for (int j = 2; j < m.GetLength(1); j++) {
                diff -= m[i, j];
            }
            m[i, 0] = diff;
        }
    }
    /// <summary>
    /// Заполнение матрицы случайными числами
    /// </summary>
    static void FillMatrix(double [,] m) {
        int n = m.Length;
        Random rnd = new Random(DateTime.Now.Millisecond);
        for (int i = 0; i < m.GetLength(0); i++) {
            for (int j = 0; j < m.GetLength(1); j++) {
                m[i, j] = rnd.Next(n);
            }
        }
    }
    /// <summary>
    /// Вывод матрицы на экран.
    /// </summary>
    static void PrintMatrix(double[,] m) {
        for (int i = 0; i < m.GetLength(0); i++) {
            for (int j = 0; j < m.GetLength(1); j++) {
                Console.Write("{0,-4}", m[i, j]);
            }
            Console.WriteLine();
        }
    }
}

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


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

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

11   голосов , оценка 4 из 5
Похожие ответы