М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
fernandus
fernandus
05.06.2020 01:26 •  Информатика

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

👇
Ответ:
Vikula2404
Vikula2404
05.06.2020
Добрый день!

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

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();
}
}
}
```

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

Надеюсь, что данное пошаговое решение поможет вам понять задачу и выполнить ее самостоятельно. Если у вас есть еще вопросы, не стесняйтесь задавать!
4,5(42 оценок)
Проверить ответ в нейросети
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ