Вопрос задан 21.07.2023 в 09:42.
Предмет Информатика.
Спрашивает Смирнова Юлия.
Помогите написать на С#. Дан двумерный целочисленный массив А размерностью NxM. Поменять местами.
Столбцы, содержащие первый нечетный и последний четный элементы СПАСИБООтветы на вопрос
Отвечает Райский Сережа.
Код в прикрепленном файле, пример программы тоже (+2 скриншота листинга)
Массив заполняется рэндомными числами размерность массива задается в начале метода Main
В примере она
int n = 10;
int m = 10; их можно заменять на свои




Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Конечно, вот пример кода на C#, который меняет местами столбцы, содержащие первый нечетный и последний четный элементы в двумерном целочисленном массиве:
csharpusing System;
class Program
{
static void Main()
{
// Пример двумерного массива
int[,] array = {
{ 1, 2, 3, 4 },
{ 5, 6, 7, 8 },
{ 9, 10, 11, 12 }
};
// Вызываем метод для обмена столбцов
SwapColumnsWithFirstOddAndLastEven(array);
// Выводим измененный массив
PrintArray(array);
}
// Метод для обмена столбцов
static void SwapColumnsWithFirstOddAndLastEven(int[,] arr)
{
int numRows = arr.GetLength(0);
int numCols = arr.GetLength(1);
// Ищем индекс первого нечетного столбца и последнего четного столбца
int firstOddColIndex = -1;
int lastEvenColIndex = -1;
for (int j = 0; j < numCols; j++)
{
if (firstOddColIndex == -1 && ContainsOddElement(arr, j))
{
firstOddColIndex = j;
}
if (ContainsEvenElement(arr, j))
{
lastEvenColIndex = j;
}
}
// Если найдены столбцы для обмена, то меняем их местами
if (firstOddColIndex != -1 && lastEvenColIndex != -1)
{
for (int i = 0; i < numRows; i++)
{
int temp = arr[i, firstOddColIndex];
arr[i, firstOddColIndex] = arr[i, lastEvenColIndex];
arr[i, lastEvenColIndex] = temp;
}
}
}
// Метод для проверки, содержит ли столбец хотя бы один нечетный элемент
static bool ContainsOddElement(int[,] arr, int colIndex)
{
int numRows = arr.GetLength(0);
for (int i = 0; i < numRows; i++)
{
if (arr[i, colIndex] % 2 != 0)
{
return true;
}
}
return false;
}
// Метод для проверки, содержит ли столбец хотя бы один четный элемент
static bool ContainsEvenElement(int[,] arr, int colIndex)
{
int numRows = arr.GetLength(0);
for (int i = 0; i < numRows; i++)
{
if (arr[i, colIndex] % 2 == 0)
{
return true;
}
}
return false;
}
// Метод для вывода массива в консоль
static void PrintArray(int[,] arr)
{
int numRows = arr.GetLength(0);
int numCols = arr.GetLength(1);
for (int i = 0; i < numRows; i++)
{
for (int j = 0; j < numCols; j++)
{
Console.Write(arr[i, j] + " ");
}
Console.WriteLine();
}
}
}
Пример выше меняет столбцы согласно условию и выводит результат в консоль. Вы можете изменить содержимое двумерного массива array, чтобы протестировать другие наборы данных.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili
