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

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

22.10.2018, 11:05. Показов 3162. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Найти строку в двумерном числовом массиве с максимальной суммой элементов. Модифицировать программу для нахождения строки с минимальной суммой элементов. Не могу понять, как это сделать.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.10.2018, 11:05
Ответы с готовыми решениями:

Найти строку с максимальной суммой элементов в двумерном массиве
Найти строку с максимальной суммой элементов в двумерном массиве. Как это реализовать? Желательно...

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

Найти строку с максимальной суммой элементов в двумерном массиве
Найти строку с максимальной суммой элементов в двумерном массиве. Как это реализовать? Желательно...

В двумерном N*K массиве целых чисел поменять строку с максимальной суммой элементов со строкой с минимальной суммой элементов.
Массив заполнять случайными числами, кроме случаев, когда это нецелесообразно (прогрессия,...

3
923 / 503 / 202
Регистрация: 08.10.2018
Сообщений: 1,553
Записей в блоге: 11
22.10.2018, 11:51 2
Лучший ответ Сообщение было отмечено Antosha21 как решение

Решение

Цитата Сообщение от Antosha21 Посмотреть сообщение
Не могу понять, как это сделать.
Вот примерно так:
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
    class Program
    {
        // делегат (ссылка на метод)
        private delegate int FindRowInArray(int rows, int cols, int[,] arr);
 
        static void Main(string[] args)
        {
            int rows = 5;
            int cols = 6;
            int[,] arr = new int[rows,cols];
            // генерация данных
            var rand = new Random();
            for (int i = 0; i < rows; i++)
            {
                for (int j = 0; j < cols; j++)
                {
                    arr[i,j] = rand.Next(-15, 15);
                    Console.Write(arr[i, j] + "\t");
                }
                Console.WriteLine();
            }
            var imax = FindRowWithMaxSumInArray(rows, cols, arr);
            Console.WriteLine("Строка с максимальной суммой элементов: {0}", imax);
            var imin = FindRowWithMinSumInArray(rows, cols, arr);
            Console.WriteLine("Строка с минимальной суммой элементов: {0}", imin);
            // модификация программы:
            // подключим метод при помощи делегата
            FindRowInArray workMethod = FindRowWithMaxSumInArray;
            var irow = workMethod(rows, cols, arr);
            Console.WriteLine("Строка с максимальной суммой элементов (через делегат): {0}", irow);
            // подключим метод при помощи делегата
            workMethod = FindRowWithMinSumInArray;
            irow = workMethod(rows, cols, arr);
            Console.WriteLine("Строка с минимальной суммой элементов (через делегат): {0}", irow);
            Console.ReadKey();
        }
 
        /// <summary>
        /// Метод поиска строки с максимальной суммой элементов.
        /// </summary>
        /// <param name="rows">количество строк</param>
        /// <param name="cols">количество столбцов</param>
        /// <param name="arr">ссылка на массив</param>
        /// <returns></returns>
        private static int FindRowWithMaxSumInArray(int rows, int cols, int[,] arr)
        {
            int max = int.MinValue;
            int imax = 0;
            for (int i = 0; i < rows; i++)
            {
                int sum = 0;
                for (int j = 0; j < cols; j++)
                    sum += arr[i, j];
                if (sum > max)
                {
                    max = sum;
                    imax = i;
                }
            }
            return imax;
        }
 
        /// <summary>
        /// Метод поиска строки с минимальной суммой элементов.
        /// </summary>
        /// <param name="rows">количество строк</param>
        /// <param name="cols">количество столбцов</param>
        /// <param name="arr">ссылка на массив</param>
        /// <returns></returns>
        private static int FindRowWithMinSumInArray(int rows, int cols, int[,] arr)
        {
            int min = int.MaxValue;
            int imin = 0;
            for (int i = 0; i < rows; i++)
            {
                int sum = 0;
                for (int j = 0; j < cols; j++)
                    sum += arr[i, j];
                if (sum < min)
                {
                    min = sum;
                    imin = i;
                }
            }
            return imin;
        }
    }
1
1 / 1 / 0
Регистрация: 22.10.2018
Сообщений: 14
22.10.2018, 12:16  [ТС] 3
Спасибо большое!!
Очень помогли)
1
0 / 0 / 0
Регистрация: 09.04.2021
Сообщений: 1
12.04.2021, 16:32 4
Помогите пожалуйста реализовать тоже самое,но только Найти столбец е с максимальным произведением элементов. Модифицировать программу для нахождения столбца с минимальным произведением элементов.
0
12.04.2021, 16:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.04.2021, 16:32
Помогаю со студенческими работами здесь

Определить в двумерном массиве строку с максимальной и столбец с минимальной суммой элементов
Определить в нем строку с максимальной и столбец с минимальной суммой элементов. Задачу решить за...

В двумерном массиве найти строку с максимальной суммой и отсортировать ее в порядке убывания
Помогите исправить код (не осуществляется сортировка) Задача звучит так: Написать программу,...

В двумерном массиве поменять местами строку с максимальной суммой с минимальной суммой
Нам задали написать 2 различные проги для такого задания В двумерном массиве поменять местами...

Массив: В двумерном массиве найти столбец с максимальной суммой элементов и удалить его
В двумерном массиве найти столбец с максимальной суммой элементов и удалить его)))

В двумерном массиве найти строку с минимальной суммой элементов
1.В двумерном массиве найти строку с минимальной суммой элементов. 2.Из двумерного массива удалить...

В данном двумерном массиве найти строку с наименьшей суммой элементов
Выдает через раз ошибку ,а если менять числа в рандоме иногда вобще может не работать помогите...


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

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