Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
dinaradan
0 / 0 / 0
Регистрация: 23.02.2016
Сообщений: 25
#1

Найти максимальный элемент матрицы среди минимальных в строках

28.01.2017, 17:28. Просмотров 336. Ответов 4
Метки нет (Все метки)

3. Дана действительная матрица 5*4, все элементы различны. В каждой строке выбирается элемент с меньшим значением, затем среди этих чисел выбирается наибольшее. Указать индекс найденного элемента.
Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.01.2017, 17:28
Ответы с готовыми решениями:

Найти максимальный среди минимальных элементов строк матрицы
Дана матрица размера M * N. Найти максимальный среди минимальных элементов ее...

Найти максимальный среди минимальных элементов каждой строки (столбца) матрицы
дана матрица размером m * n (m * n вводятся 2<=m<=5, 2<=n<=10). найти...

Найти максимальный элемент матрицы среди элементов, находящихся выше главной диагонали
Найти максимальный элемент матрицы A(m,n) среди элементов, находящихся выше...

Найти максимальный среди минимальных элементов столбцов двухмерного массива
Найти максимальный среди минимальных элементов столбцов двухмерного массива...

Найти максимальный среди минимальных элементов столбцов двухмерного массива
Найти максимальный среди минимальных элементов столбцов двухмерного массива...

4
dailydose
659 / 205 / 88
Регистрация: 21.07.2016
Сообщений: 1,027
Записей в блоге: 2
Завершенные тесты: 1
28.01.2017, 18:52 #2
43 24 52 22
13 31 33 41
23 54 10 44
12 14 42 32
21 34 51 53

22 - Максимальный среди минимальных [0, 3]
Для продолжения нажмите любую клавишу . . .
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Collections.Generic;
using System.Text.RegularExpressions;
 
namespace csharp_cmd
{
    class Program
    {
        static void Print(int[] matrix)
        {
            for (int i = 0; i < matrix.GetLength(0); ++i)
            {
                Console.Write(matrix[i] + " ");
            }
            Console.WriteLine();
        }
        static void Print(int[,] matrix)
        {
            for (int i = 0; i < matrix.GetLength(0); ++i)
            {
                for (int j = 0; j < matrix.GetLength(1); ++j)
                    Console.Write(matrix[i, j] + " ");
                Console.WriteLine();
            }
            Console.WriteLine();
        }
        static void Fill(int[,] matrix)
        {
            for (int i = 0; i < matrix.GetLength(0); ++i)
            {
                for (int j = 0; j < matrix.GetLength(1); ++j)
                {
                    Console.Write("Value for matrix[{0}, {1}]: ", i, j);
                    matrix[i, j] = Convert.ToInt32(Console.ReadLine());
                }
                Console.WriteLine();
            }
        }
 
        static void Main()
        {
            int[,] matrix = new int[5, 4]
            {
                {21,22,23,24 },
                {10,12,13,14 },
                {31,32,33,34 },
                {51,52,53,54 },
                {41,42,43,44 }
            };
            Shuffle(matrix);
 
            int max = int.MinValue;
            for (int i = 0; i < 5; ++i)
            {
                int min = int.MaxValue;
                for (int j = 0; j < 4; ++j)
                {
                    if (min > matrix[i, j])
                    {
                        min = matrix[i, j];
                    }
                }
                if (min > max)
                {
                    max = min;
                }
            }
 
            Print(matrix);
            var res = CoordinatesOf(matrix, max);
            Console.WriteLine($"{max} - Максимальный среди минимальных [{res.Item1}, {res.Item2}]");
 
        }
 
        public static void Shuffle<T>(T[,] array)
        {
            Random rnd = new Random();
            int lengthRow = array.GetLength(1);
 
            for (int i = array.Length - 1; i > 0; i--)
            {
                int i0 = i / lengthRow;
                int i1 = i % lengthRow;
 
                int j = rnd.Next(i + 1);
                int j0 = j / lengthRow;
                int j1 = j % lengthRow;
 
                T temp = array[i0, i1];
                array[i0, i1] = array[j0, j1];
                array[j0, j1] = temp;
            }
        }
 
        public static Tuple<int, int> CoordinatesOf(int[,] matrix, int value)
        {
            int w = matrix.GetLength(0); // width
            int h = matrix.GetLength(1); // height
 
            for (int x = 0; x < w; ++x)
            {
                for (int y = 0; y < h; ++y)
                {
                    if (matrix[x, y].Equals(value))
                        return Tuple.Create(x, y);
                }
            }
 
            return Tuple.Create(-1, -1);
        }
    }
}
0
EveKS
409 / 368 / 152
Регистрация: 19.04.2016
Сообщений: 1,463
Завершенные тесты: 7
28.01.2017, 23:05 #3
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    static int GetMaxMinInMatrix(int[,] array)
    {
        int max = int.MinValue;
        for (int i = 0; i < array.GetLength(0); ++i)
        {
            int min = int.MaxValue;
            for (int j = 0; j < array.GetLength(1); ++j)
            {
                if (array[i, j] < min)
                    min = array[i, j];
            }
 
            if (min > max)
                max = min;
        }
 
        return max;
    }
0
dailydose
659 / 205 / 88
Регистрация: 21.07.2016
Сообщений: 1,027
Записей в блоге: 2
Завершенные тесты: 1
28.01.2017, 23:26 #4
EveKS,
Указать индекс найденного элемента.
Заранее спасибо

http://www.cyberforum.ru/csharp-beginners/thread1909140.html
43 24 52 22
13 31 33 41
23 54 10 44
12 14 42 32
21 34 51 53

22 - Максимальный среди минимальных [0, 3]
Для продолжения нажмите любую клавишу . . .
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Collections.Generic;
using System.Text.RegularExpressions;
 
namespace csharp_cmd
{
    class Program
    {
        static void Print(int[] matrix)
        {
            for (int i = 0; i < matrix.GetLength(0); ++i)
            {
                Console.Write(matrix[i] + " ");
            }
            Console.WriteLine();
        }
        static void Print(int[,] matrix)
        {
            for (int i = 0; i < matrix.GetLength(0); ++i)
            {
                for (int j = 0; j < matrix.GetLength(1); ++j)
                    Console.Write(matrix[i, j] + " ");
                Console.WriteLine();
            }
            Console.WriteLine();
        }
        static void Fill(int[,] matrix)
        {
            for (int i = 0; i < matrix.GetLength(0); ++i)
            {
                for (int j = 0; j < matrix.GetLength(1); ++j)
                {
                    Console.Write("Value for matrix[{0}, {1}]: ", i, j);
                    matrix[i, j] = Convert.ToInt32(Console.ReadLine());
                }
                Console.WriteLine();
            }
        }
 
        static void Main()
        {
            int[,] matrix = new int[5, 4]
            {
                {21,22,23,24 },
                {10,12,13,14 },
                {31,32,33,34 },
                {51,52,53,54 },
                {41,42,43,44 }
            };
            Shuffle(matrix);
 
            int max = int.MinValue;
            for (int i = 0; i < 5; ++i)
            {
                int min = int.MaxValue;
                for (int j = 0; j < 4; ++j)
                {
                    if (min > matrix[i, j])
                    {
                        min = matrix[i, j];
                    }
                }
                if (min > max)
                {
                    max = min;
                }
            }
 
            Print(matrix);
            var res = CoordinatesOf(matrix, max);
            Console.WriteLine($"{max} - Максимальный среди минимальных [{res.Item1}, {res.Item2}]");
 
        }
 
        public static void Shuffle<T>(T[,] array)
        {
            Random rnd = new Random();
            int lengthRow = array.GetLength(1);
 
            for (int i = array.Length - 1; i > 0; i--)
            {
                int i0 = i / lengthRow;
                int i1 = i % lengthRow;
 
                int j = rnd.Next(i + 1);
                int j0 = j / lengthRow;
                int j1 = j % lengthRow;
 
                T temp = array[i0, i1];
                array[i0, i1] = array[j0, j1];
                array[j0, j1] = temp;
            }
        }
 
        public static Tuple<int, int> CoordinatesOf(int[,] matrix, int value)
        {
            int w = matrix.GetLength(0); // width
            int h = matrix.GetLength(1); // height
 
            for (int x = 0; x < w; ++x)
            {
                for (int y = 0; y < h; ++y)
                {
                    if (matrix[x, y].Equals(value))
                        return Tuple.Create(x, y);
                }
            }
 
            return Tuple.Create(-1, -1);
        }
    }
}
0
EveKS
409 / 368 / 152
Регистрация: 19.04.2016
Сообщений: 1,463
Завершенные тесты: 7
29.01.2017, 04:23 #5
Столько ненужных методов ��. А основной алгоритм внутри main. По поводу индексов, я это еще вчера понял, но добавить 2 переменных, надеюсь, автор сможет сам.
0
29.01.2017, 04:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2017, 04:23

Найти максимальное значение среди всех элементов тех строк матрицы, в которых максимальный элемент в строке в
Дана вещественная матрица А размером MxN, все элементы которой различны. Найти...

Дана матрица размера M х N. Найти максимальный среди минимальных элементов ее строк.В WA
Дана матрица размера M х N. Найти максимальный среди минимальных элементов ее...

Дана матрица размера M x N. Найти максимальный среди минимальных элементов ее строк.
Дана матрица размера M  N. Найти максимальный среди минимальных элементов ее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru