Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/55: Рейтинг темы: голосов - 55, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 22.12.2018
Сообщений: 6
1

Поиск номера строки и столбца максимального элемента двумерного массива

28.12.2018, 01:22. Показов 10095. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет. Нужна помощь. В общем, создал я прогу, которая должна вычислять номер строки и номер столбца максимального элемента массива в матрице. Но у меня получилось только вывести макс.элемент массива. Как вывести ещё номер строки и столбца данного максимального элемента?
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApp5
{
    class Program
    { 
 
        public static void Main()
        {
            Console.Write("Столбцов: ");
            int n = int.Parse(Console.ReadLine());
            Console.Write("Строк: ");
            int m = int.Parse(Console.ReadLine());
            int[,] arr = new int[n, m];
            Console.WriteLine();
 
            Console.WriteLine("Заполни матрицу");
 
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    Console.Write("mas[" + i + "," + j + "]: ");
                    arr[i, j] = int.Parse(Console.ReadLine());
                }
            }
 
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    Console.Write("{0}\t", arr[i, j]);
                }
                Console.WriteLine();
            }
 
            int maxValue = arr.Cast<int>().Max();
            Console.Write("Максимальный элемент матрицы: " + maxValue);
            Console.ReadKey();
 
        }
    }
 }
Добавлено через 20 минут
Ошибка в 14 и 16 строке. Сначала надо количество строк указать, потом столбцов
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.12.2018, 01:22
Ответы с готовыми решениями:

Ввести в каждый элемент двумерного массива значение равное сумме номера строки и номера столбца элемента массива
необходимо ввести в каждый элемент двумерного массива значение равное сумме номера строки и номера...

Найти номер строки и столбца максимального элемента двумерного массива целых чисел
Доброго времени суток) Помогите пожалуйста решить несколько задач на массивы. Я в этом полный...

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

Определить номера строки и столбца максимального элемента матрицы
Определить номера строки и столбца максимального элемента прямоугольной матри-цы A(n,m). Поменять...

4
1151 / 743 / 483
Регистрация: 21.01.2014
Сообщений: 1,903
28.12.2018, 01:24 2
Лучший ответ Сообщение было отмечено Hann1bal как решение

Решение

Hann1bal, если не хочется через циклы, а хочется через Cast()/Max(), то так
C#
1
2
3
4
5
6
            var maxInfo = matrix
                .Cast<int>()
                .Select((v, i) => Tuple.Create(v, i / matrix.GetLength(1) , i % matrix.GetLength(1)))
                .Max();
 
            Console.WriteLine($"Max element is {maxInfo.Item1} at [{maxInfo.Item2},{maxInfo.Item3}]");
1
0 / 0 / 0
Регистрация: 22.12.2018
Сообщений: 6
28.12.2018, 01:31  [ТС] 3
Что-то вы не то написали. Что за matrix? Он у меня подчеркнут волнистой линией , типо не определен

Добавлено через 1 минуту
Спасибо большое, я разобрался)
0
16 / 10 / 7
Регистрация: 30.07.2017
Сообщений: 50
28.12.2018, 11:15 4
Лучший ответ Сообщение было отмечено Hann1bal как решение

Решение

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
int r = 5;//количество строк
            int c = 7;// количество колонок
            int[][] matrix = new int[r][];//создаем двумерный массив
            //заполняем массив
            Random rend = new Random();
            for(int i = 0; i < r; i++)
            {
                matrix[i] = new int[c];
                for(int j = 0; j < c; j++)
                {
                    matrix[i][j] = rend.Next(100);
                    Console.Write(matrix[i][j] + " ");
                }
                Console.WriteLine();
            }
            int max = 0;
            int max_i = 0;
            int max_j = 0;
            //ищем максимальный элемент
            for(int i = 0; i < r; i++)
            {
                for(int j = 0; j < c; j++)
                {
                    if (matrix[i][j] > max)
                    {
                        max = matrix[i][j];
                        max_i = i;
                        max_j = j;
                    }
                }
            }
            Console.WriteLine($"Максимальный элемент имеет координаты {max_i+1} {max_j+1}");
1
0 / 0 / 0
Регистрация: 22.12.2018
Сообщений: 6
28.12.2018, 11:48  [ТС] 5
Спасибо
0
28.12.2018, 11:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.12.2018, 11:48
Помогаю со студенческими работами здесь

Поиск номера строки и номера столбца минимального элемента в двумерном массиве
поиск номера строки и номера столбца минимального элемента в двумерном массиве. подскажите, что...

Определить номера строки и столбца максимального элемента прямоугольной матрицы
обработка двумерных массивов. результат выводить на экран и в результирующий файл. ...

Определить номера строки и столбца максимального отрицательного элемента прямоугольной матрицы
Определить номера строки и столбца максимального отрицательного элемента прямоугольной матрицы...

Поиск номера максимального элемента массива
задание: поиска номера максимального элемента массива. Проблема: Не рандомит массив. ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru