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

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

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

Описать методы для работы с матрицей размерности MxN. Размерность не превосходит10x10. Первый метод — для формирования элементов матрицы либо по правилу из задания либо случайным образом. Второй метод — для вывода матрицы на экран либо по правилу из задания либо полностью. Собственно с заданием возникли проблемы: Элементы первого столбца матрицы равны разности элементов, расположенных справа. Вот код
Листинг программы
  1. static void MatrixFormRule(int[,] someA, int x)
  2. {
  3. for (int i = 0; i < someA.GetLength(0); i++)
  4. {
  5. for (int j = 0; j < someA.GetLength(1); j++)
  6. {
  7. Console.Write("Введите элемент массива No {0} X {1}: ", i + 1, j + 1);
  8. someA[i, j] = int.Parse(Console.ReadLine());
  9. }
  10. }
  11. // тут проблема
  12. if (true)
  13. {
  14. for (int i = 0 ,j = 1; i < someA.GetLength(0) && i < someA.GetLength(1) ; i++, j++ )
  15. {
  16. someA[i, 0] = someA[i, j] - someA[i, j+1];
  17. }
  18. }
  19. }
  20. static void MatrixOutput(int[,] someA)
  21. {
  22. for (int i = 0; i < someA.GetLength(0); i++)
  23. {
  24. for (int j = 0; j < someA.GetLength(1); j++)
  25. {
  26. Console.Write(someA[i, j] + " ");
  27. }
  28. Console.WriteLine();
  29. }
  30. }
  31.  
  32. static void Main(string[] args)
  33. {
  34. int M = 3; int N = 3;
  35. int[,] A = new int[M, N];
  36. int x = 10;
  37. MatrixFormRule(A, x);
  38. MatrixOutput(A);
  39. Console.ReadLine();
  40. }

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

textual
Листинг программы
  1. class Program {
  2.     static void Main(string[] args) {
  3.         double[,] m = new double[10, 10];
  4.         FillMatrixWithRule(m);
  5.         PrintMatrix(m);
  6.         Console.Read();
  7.     }
  8.     /// <summary>
  9.     /// Заполнение матрицы по правилу: элементы первого столбца
  10.     /// являются разностью элементов, стоящих справа
  11.     /// </summary>
  12.     static void FillMatrixWithRule(double [,] m) {
  13.         FillMatrix(m);
  14.         double diff = 0;//Разность элементов справа от первого столбца
  15.         for (int i = 0; i < m.GetLength(0); i++) {
  16.             diff = m[i, 1];
  17.             for (int j = 2; j < m.GetLength(1); j++) {
  18.                 diff -= m[i, j];
  19.             }
  20.             m[i, 0] = diff;
  21.         }
  22.     }
  23.     /// <summary>
  24.     /// Заполнение матрицы случайными числами
  25.     /// </summary>
  26.     static void FillMatrix(double [,] m) {
  27.         int n = m.Length;
  28.         Random rnd = new Random(DateTime.Now.Millisecond);
  29.         for (int i = 0; i < m.GetLength(0); i++) {
  30.             for (int j = 0; j < m.GetLength(1); j++) {
  31.                 m[i, j] = rnd.Next(n);
  32.             }
  33.         }
  34.     }
  35.     /// <summary>
  36.     /// Вывод матрицы на экран.
  37.     /// </summary>
  38.     static void PrintMatrix(double[,] m) {
  39.         for (int i = 0; i < m.GetLength(0); i++) {
  40.             for (int j = 0; j < m.GetLength(1); j++) {
  41.                 Console.Write("{0,-4}", m[i, j]);
  42.             }
  43.             Console.WriteLine();
  44.         }
  45.     }
  46. }

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


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

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

11   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы