Матрицы. Нахождение максимального элемента в строках массива - C#
Формулировка задачи:
Дана матрица P(N,N). Найти в каждой строке наибольший элемент и поменять его местами с элементом главной диагонали. Вывести на печать исходную и результирующую матрицы.
(N<=15).
Помогите, пожалуйста, с кодом.
Решение задачи: «Матрицы. Нахождение максимального элемента в строках массива»
textual
Листинг программы
Console.Write("Введите длину строки матрицы: ");
int N;
if (!int.TryParse(Console.ReadLine(), out N) ||
N < 0 || N > 15) //ограничения по размерности матрицы
{
Console.Write("Введено не корректное значение./nНажмите любую клавишу для завершения работы.");
Console.ReadKey();
return;
}
int i, j;
double[][] Matrix = new double[N][];
Console.Write("Всего значений " + (N * N) + " введите их\n");
//ввод значений
for (i = 0; i < N; i++) //колонки
{
Matrix[i] = new double[N]; //указываю размерность массива в строке
for (j = 0; j < N; j++) //строки
{
if (!double.TryParse(Console.ReadLine(), out Matrix[i][j]))
{
Console.Write("Введено не корректное значение./nНажмите любую клавишу для завершения работы.");
Console.ReadKey();
return;
}
}
}
//Ведем поиск максимумов
int MaxIndex;
double Temp;
for (i = 0; i < N; i++) //колонки
{
for (j = 0; j < N; j++) //попутно вывожу что было
Console.Write(Matrix[i][j] + " ");
Console.Write("\n");
MaxIndex = 0;
for (j = 1; j < N; j++) //строки
if (Matrix[i][j] > Matrix[i][MaxIndex])
MaxIndex = j; //записываю индекс максимального значения
Temp = Matrix[i][i];
Matrix[i][i] = Matrix[i][MaxIndex]; //перемещаю максимальное значение строки на позицию диагонали
Matrix[i][MaxIndex] = Temp;
}
Console.Write("Результат\n");
for (i = 0; i < N; i++) //вывожу результат
{
for (j = 0; j < N; j++)
Console.Write(Matrix[i][j] + " ");
Console.Write("\n");
}
Console.ReadKey();