В матрице найти наибольший элемент и поменять местами с диагональным - C#
Формулировка задачи:
В каждой строке матрицы A(n,n) найти наибольший элемент и поменять его местами с соответствующим диагональным элементом.
Решение задачи: «В матрице найти наибольший элемент и поменять местами с диагональным»
textual
Листинг программы
class Program { static void Main(string[] args) { Console.Write("Enter matrix size : "); string sizeString = Console.ReadLine(); int size; if (!int.TryParse(sizeString, out size)) { return; } int[,] matrix = CreateMatrix(size); PrintMatrix(matrix, size); int[,] matrixResult = DoTask(matrix, size); PrintMatrix(matrixResult, size); Console.ReadLine(); } static int[,] CreateMatrix(int size) { int[,] matrix = new int[size, size]; Random generator = new Random(); for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { matrix[i, j] = generator.Next(10, 99); } } return matrix; } static int[,] DoTask(int[,] matrix, int size) { for (int i = 0; i < size; i++) { int maxValue = matrix[i, 0]; int index = 0; for (int j = 1; j < size; j++) { if (matrix[i, j] > maxValue) { maxValue = matrix[i, j]; index = j; } } int buffer = matrix[i, index]; matrix[i, index] = matrix[i, i]; matrix[i, i] = buffer; } return matrix; } static void PrintMatrix(int[,] matrix, int size) { Console.WriteLine(); Console.WriteLine(); Console.WriteLine(); for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { Console.Write(matrix[i, j] + " "); } Console.WriteLine(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д