C# . дана матрица n×m . найти матрицу, полученную перестановкой столбцов (первого с последним, второго с предпоследним и т.д.) из данной

HoRMaX HoRMaX    2   25.04.2019 17:18    3

Ответы
tolkynd17 tolkynd17  10.01.2024 21:30
Добрый день!

Чтобы решить эту задачу, нужно выполнить следующие шаги:

1. Объявить и инициализировать двумерный массив n×m:
```csharp
int[,] matrix = new int[n, m];
```

2. Заполнить матрицу значениями, например, случайными числами:
```csharp
Random random = new Random();
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
matrix[i, j] = random.Next(10);
}
}
```

3. Создать новый двумерный массив result, который будет содержать переставленные столбцы:
```csharp
int[,] result = new int[n, m];
```

4. Проитерироваться по столбцам и копировать значения столбцов из матрицы в обратном порядке в новый массив result:
```csharp
for (int j = 0; j < m; j++)
{
for (int i = 0; i < n; i++)
{
result[i, j] = matrix[i, m - j - 1];
}
}
```

5. Вывести полученную матрицу result на экран:
```csharp
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
Console.Write(result[i, j] + " ");
}
Console.WriteLine();
}
```

Итоговый код для решения этой задачи будет выглядеть примерно следующим образом:
```csharp
using System;

class Program
{
static void Main()
{
int n = 3; // кол-во строк
int m = 4; // кол-во столбцов

int[,] matrix = new int[n, m];
Random random = new Random();

for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
matrix[i, j] = random.Next(10);
}
}

int[,] result = new int[n, m];

for (int j = 0; j < m; j++)
{
for (int i = 0; i < n; i++)
{
result[i, j] = matrix[i, m - j - 1];
}
}

Console.WriteLine("Исходная матрица:");
PrintMatrix(matrix);

Console.WriteLine("Результат:");
PrintMatrix(result);
}

static void PrintMatrix(int[,] matrix)
{
int n = matrix.GetLength(0);
int m = matrix.GetLength(1);

for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
Console.Write(matrix[i, j] + " ");
}
Console.WriteLine();
}
}
}
```

В результате выполнения приведенного выше кода будет выведена исходная матрица и матрица, полученная после перестановки столбцов.

Надеюсь, что данное пошаговое решение поможет вам понять задачу и выполнить ее самостоятельно. Если у вас есть еще вопросы, не стесняйтесь задавать!
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика