В каждой строке матрицы поменять местами наибольший элемент и элемент на побочной диагонали - C#
Формулировка задачи:
Найти в каждой строке наибольший элемент и поменять его местами с элементом побочной диагонали.
Решение задачи: «В каждой строке матрицы поменять местами наибольший элемент и элемент на побочной диагонали»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{//инициализация массива
int razm = int.Parse(Console.ReadLine());
int[,] mass = new int[razm, razm];
int[] max = new int[razm];
int[] j1 = new int[razm];
//заполнение массива случайными числами
Random rnd = new Random();
for (int i = 0; i < razm; i++) {
for (int j = 0; j < razm; j++) {
mass[i, j] = rnd.Next(9);
}
}
Console.WriteLine("Массив 1");
//вывод массива
for (int i = 0; i < razm; i++)
{
for (int j = 0; j < razm; j++)
{
Console.Write(mass[i, j] + " ");
}
Console.Write("\n");
}
//поиск максимума в строках и запись в массив
for (int i = 0; i < razm; i++) {
int max1 = 0;
int j2 = 0;
for (int j = 0; j < razm; j++)
{
if (mass[i, j] >= max1) {
max1 = mass[i, j];
j2 = j;
}
max[i] = max1;
j1[i] = j2;
}
}
//замена
for (int i = 0; i < razm; i++)
{
int a = mass[i, razm-1-i];
mass[i, j1[i]] = a;
mass[i, razm - 1 - i]=max[i];
}
//вывод
Console.WriteLine("Массив 2");
for (int i = 0; i < razm; i++)
{
for (int j = 0; j < razm; j++)
{
Console.Write(mass[i, j] + " ");
}
Console.Write("\n");
}
Console.ReadLine();
}
}
}