Предмет: Информатика,
автор: vinylblood36
Очень срочно!
C#
Дана квадратная матрица Y(N*N). Найти с помощью пользовательского метода (без использования стандартных методов) максимальный элемент среди элементов, лежащих на главной диагонали (либо скриншотом из VS либо фоткой, пожалуйста)
KnowsUser1:
язык сами угадаете как нибудь.
C#
Ответы
Автор ответа:
1
Ответ:
- 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<Matr.GetLength(0);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<m; i++)
- for (int j = 0; j<n; j++)
- Matr[i,j] = rnd.Next(a,b);
- return Matr;
- }
- static void MatrPrint (int[,] Matr)
- {
- for (int i = 0; i<Matr.GetLength(0); i++)
- {
- for (int j = 0; j<Matr.GetLength(1); j++)
- Console.Write(string.Format($"{Matr[i,j],4} "));
- Console.WriteLine();
- }
- }
Пример работы:
То что не в vs, значения никак не имеет: c# везде один.
Приложения:
А чего метод MatrPrint обобщённым не сделали? Всё равно решение украли, так крали бы до конца) Ещё и репорт кинули, хотя я свою версию добавил намного раньше) Фу таким быть)
"решение украли"? Единственное общее - это название переменных max и Matr (и то не везде).
Хоть и отличается почти всё, вот Вам несколько различий для наглядности, если Вы по какой-то причине сами не смогли их увидеть:
1) Метод MatrPrint, хоть и не обобщённый (поменять не проблема), зато печатает матрицу любого размера, необязательно квадратную, причём читабельно, в отличии от вашего.
2) Метод MatrRandom имеет тип возвращаемого значения (out - не лучший вариант для этого случая). Так же работает с любой матрицей, необязательно с квадратной.
3) Метод GetMaxFromMD (IntRectMatrMainDiagonalMax) - вот тут у Вас ошибка. Представьте, что на главную диагональ попали только отрицательные числа. И вероятность этого совсем не малая. Можете сами убедится, передав в RectIntMatrixRandom вместо 10, скажем, -1.
А что на счёт порядка написания - не знаю, только сейчас заметил... Писал с нуля, вот, тоже так получилось... По другому и не удобно как-то выходит.
Да и на скриншот влезло ;)
Похожие вопросы
Предмет: Английский язык,
автор: suvorovgleb2011
Предмет: Русский язык,
автор: seed2003
Предмет: Русский язык,
автор: facepalm7
Предмет: Математика,
автор: iooooooooo
Предмет: Физика,
автор: rohinak05