Поменять местами минимальный и максимальный элемент матрицы - C#

Узнай цену своей работы

Формулировка задачи:

Нужно поменять местами максимальный и минимальный элементы двумерного массива. Нашел примеры подобной операции с одномерным массивом, пока не получается воспроизвести это на двумерном. Нужно работать с индексами этих элементов?
using System;
namespace Abcd
{
    class Program
    {
        static void Main()
        {
 
            Console.Write("Введите длину массива: ");
            int n = Convert.ToInt32(Console.ReadLine()); // Считываем строку, переводим в число.
            Console.Write("Введите ширину массива: ");
            int m = Convert.ToInt32(Console.ReadLine());
            int[,] matrix = new int[n, m]; //Объявляем массив строк длиной n и шириной m (которую ввёл пользователь)
            for (int i = 0; i < n; i++)
                for (int j = 0; j < m; j++)
                {
                    Console.Write("Введите элемент №{0}{1}:\r\n    ", i, j);
                    matrix[i, j] = Convert.ToInt32(Console.ReadLine()); //Заполняем его
                }
            Console.WriteLine("Массив состоит из следующих элементов:");
            for (int i = 0; i < n; i++)
                for (int j = 0; j < m; j++)
                {
                    Console.WriteLine(matrix[i, j]);
                }

            int min = matrix[0, 0];
            int max = matrix[0, 0];

            for (int i = 0; i < n; i++)
                for (int j = 0; j < m; j++)
                {
                    if (matrix[i, j] > max)
                    {
                        max = matrix[i, j];
                    }
 
                    if (matrix[i, j] < min)
                    {
                        min = matrix[i, j];
                    }
                }
            Console.WriteLine("Максимальный элемент массива {0}", max);
            Console.WriteLine("Минимальный элемент массива элемент массива {0}", min);

                Console.ReadLine();
            }
        }
    }

Решение задачи: «Поменять местами минимальный и максимальный элемент матрицы»

textual
Листинг программы
using System;
 
namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            int[,] arr = new int[5, 5];
            Random random = new Random();
            for (int i = 0; i < arr.GetLength(0); i++)
            {
                for (int j = 0; j < arr.GetLength(1); j++)
                {
                    arr[i, j] = random.Next(0, 50);
                }
            }
            PrintArray(arr);
 
            int minI = 0, minJ = 0, maxI = 0, maxJ = 0;
 
            for (int i = 0; i < arr.GetLength(0); i++)
            {
                for (int j = 0; j < arr.GetLength(1); j++)
                {
                    if (arr[minI, minJ] > arr[i, j])
                    {
                        minI = i;
                        minJ = j;
                    }
                    else if (arr[maxI, maxJ] < arr[i, j])
                    {
                        maxI = i;
                        maxJ = j;
                    }
                }
            }
 
            Console.WriteLine("Минимальный: {0}\tМаксимальный: {1}", arr[minI, minJ], arr[maxI, maxJ]);
 
            var tmp = arr[maxI, maxJ];
            arr[maxI, maxJ] = arr[minI, minJ];
            arr[minI, minJ] = tmp;
 
            PrintArray(arr);
            Console.ReadKey();
        }
 
        static void PrintArray(int[,] array)
        {
            for (int i = 0; i < array.GetLength(0); i++)
            {
                for (int j = 0; j < array.GetLength(1); j++)
                {
                    Console.Write(array[i, j] + " ");
                }
                Console.WriteLine();
            }
            Console.WriteLine();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.818 из 5
Похожие ответы