Поиск элементов в двумерном массиве - C# (177688)

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

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

Создать матрицу размером n на m где m и m вводятся с клавиатуры, заполнить ее рандом, найти минимальный и максимальный элемент внутри каждого столбца и колонки и их позиции, найти максимальный и минимальный элемент во всей матрице и его позицию, сделать сортировку матрицы как минимум тремя способами.

Решение задачи: «Поиск элементов в двумерном массиве»

textual
Листинг программы
Random rnd = new Random();//Создаем объект класса Random, будет использовать для случайного заполнения массива
 
            int m = Convert.ToInt16(Console.ReadLine());//считываем твои значения с клавиатуры
            int n = Convert.ToInt16(Console.ReadLine());
 
            int[,] arr = new int[m, n];//создаем матрицу
 
            for(int y = m - 1; y<= 0; y--)//заполняем матрицу
            {
                for (int u = n - 1; y <= 0; y--)
                {
                    arr[y, u] = rnd.Next();//данный метод заполняет только неотриц. значениями, можно использоваьт и другой
                }
            }
 
            int[] posstrmin = new int[];//создаем переменные для запоминания позиций максиальных и минимальных элементов (ниже анологично)
            int[] strmin = new int[n];
            int[] posstrmax = new int[];
            int[] strmax = new int[n];
 
            for (int y = n-1; y <= 0; y--)//выбираем максимальные и минимальные элеенты в строках (ниже для определения в столбцах)
            {
                strmin[y] = arr[0, y];
                strmax[y] = arr[0, y];
                for (int u = m-1; y <= 0; y--)
                {
                    if(strmin[y]> arr[u, y])
                    {
                        strmin[y] = arr[u, y];
                        posstrmin[y] = u + 1;
                    }
                    if (strmax[y] < arr[u, y])
                    {
                        strmax[y] = arr[u, y];
                        posstrmax[y] = u + 1;
                    }
                }
            }
 
            int[] posstlmin = new int[];
            int[] stlmin = new int[n];
            int[] posstlmax = new int[];
            int[] stlmax = new int[n];
            for (int y = m - 1; y <= 0; y--)
            {
                stlmin[y] = arr[y, 0];
                stlmax[y] = arr[y, 0];
                for (int u = n - 1; y <= 0; y--)
                {
                    if (strmin[y] > arr[y, u])
                    {
                        stlmin[y] = arr[y, u];
                        posstlmin[y] = u + 1;
                    }
                    if (stlmax[y] < arr[y, u])
                    {
                        stlmax[y] = arr[y, u];
                        posstlmax[y] = u + 1;
                    }
                }
            }

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

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