
Прежде всего, я создам класс с методом для решения задачи. В этом методе я буду использовать массивы и циклы, чтобы найти минимальный и максимальный элементы в матрице и затем поменять местами строки, содержащие эти элементы.
Вот код для решения задачи⁚
class Program
{
static void Main(string[] args)
{
int[,] matrix new int[,]
{
{ 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 }
};
int rows matrix.GetLength(0);
int cols matrix.GetLength(1);
int[] minIndices new int[cols];
int[] maxIndices new int[cols];
int min matrix[0, 0];
int max matrix[0, 0];
for (int i 0; i < rows; i )
{
for (int j 0; j < cols; j )
{
if (matrix[i, j] < min)
{
min matrix[i, j];
minIndices GetRowIndices(i, cols);
}
if (matrix[i, j] > max)
{
max matrix[i, j];
maxIndices GetRowIndices(i, cols);
}
}
}
SwapRows(matrix, minIndices, maxIndices);
// Вывести измененную матрицу
for (int i 0; i < rows; i )
{
for (int j 0; j < cols; j )
{
Console.Write(matrix[i, j] ″ ″);
}
Console.WriteLine;
}
}
static int[] GetRowIndices(int row, int cols)
{
int[] indices new int[cols];
for (int i 0; i < cols; i )
{
indices[i] i;
}
return indices;
}
static void SwapRows(int[,] matrix, int[] firstRowIndices, int[] secondRowIndices)
{
int cols matrix.GetLength(1);
for (int i 0; i < cols; i )
{
int temp matrix[firstRowIndices[i], i];
matrix[firstRowIndices[i], i] matrix[secondRowIndices[i], i];
matrix[secondRowIndices[i], i] temp;
}
}
}
В этом коде я создал матрицу размером 3x3 в качестве примера. Вы можете изменить ее по своему усмотрению. Затем я нашел минимальный и максимальный элементы матрицы, сохраняя их индексы строк в массивах. После этого я использовал метод SwapRows для обмена строками с минимальным и максимальным элементами.
Наконец, я вывел измененную матрицу в консоль. Вы можете добавить этот код в свое приложение C# и проверить его работу.