Описать методы для работы с матрицей размерности 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();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д