Очень срочно! C#Дана квадратная матрица Y(N*N). Найти с помощью пользовательского...

+127 голосов
6.5m просмотров

Очень срочно! C#Дана квадратная матрица Y(N*N). Найти с помощью пользовательского метода (без использования стандартных методов) максимальный элемент среди элементов, лежащих на главной диагонали (либо скриншотом из VS либо фоткой, пожалуйста)


Информатика (13 баллов) | 6.5m просмотров
+66

C#

+39

язык сами угадаете как нибудь.

Дан 1 ответ
+67 голосов

Ответ:

  • public static void Main (string[] args)
  • {
  • int N = int.Parse(Console.ReadLine());
  • int[,] Y = MatrRandom(N,N,-10,10);
  • MatrPrint(Y);
  • Console.WriteLine(GetMaxFromMD(Y));
  • Console.ReadLine();
  • }
  • static int GetMaxFromMD (int[,] Matr)
  • {
  • int max = Matr [0,0];
  • for (int i = 1; i
  • if (Matr[i,i]>max) max = Matr[i,i];
  • return max;
  • }
  • static int[,] MatrRandom (int m,int n,int a,int b)
  • {
  • Random rnd = new Random();
  • int [,] Matr = new int[m,n];
  • for (int i = 0; i
  • for (int j = 0; j
  • Matr[i,j] = rnd.Next(a,b);
  • return Matr;
  • }
  • static void MatrPrint (int[,] Matr)
  • {
  • for (int i = 0; i
  • {
  • for (int j = 0; j
  • Console.Write(string.Format($"{Matr[i,j],4} "));
  • Console.WriteLine();
  • }
  • }

Пример работы:

То что не в vs, значения никак не имеет: c# везде один.

(3.7k баллов)
+132

Да и на скриншот влезло ;)

+141

А что на счёт порядка написания - не знаю, только сейчас заметил... Писал с нуля, вот, тоже так получилось... По другому и не удобно как-то выходит.

+53

3) Метод GetMaxFromMD (IntRectMatrMainDiagonalMax) - вот тут у Вас ошибка. Представьте, что на главную диагональ попали только отрицательные числа. И вероятность этого совсем не малая. Можете сами убедится, передав в RectIntMatrixRandom вместо 10, скажем, -1.

+148

2) Метод MatrRandom имеет тип возвращаемого значения (out - не лучший вариант для этого случая). Так же работает с любой матрицей, необязательно с квадратной.

+97

1) Метод MatrPrint, хоть и не обобщённый (поменять не проблема), зато печатает матрицу любого размера, необязательно квадратную, причём читабельно, в отличии от вашего.