Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 16.02.2017
Сообщений: 49
1

Написать функцию нахождения максимального числа

16.02.2017, 10:27. Показов 503. Ответов 5
Метки нет (Все метки)

Здравствуйте, мне нужно написать функцию нахождения максимального числа из четырех чисел.
Условие звучит так: Выставка проходит в зале, разделенном на MxN павильонов. Каждая из 4 стен имеет дверь в соседний павильон (кроме граничных). Каждый павильон раздает посетителям предмет одного вида, выдают только один раз в одни руки. Однако посещать данный павильон можно сколь угодно раз. Путь начинается с (1,1) и состоит и последовательности координат. Необходимо выяснить, на какую максимальную сумму можно набрать предметов в течение К минут, если на посещение одного павильона дается 1 минута.
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int n, m, i, j, k;
            Console.WriteLine("Введите n: ");
            n = Int32.Parse(Console.ReadLine());
            Console.WriteLine("Введите m: ");
            m = Int32.Parse(Console.ReadLine());
            int[,] mas = new int[n, m];
            Console.WriteLine();
            Console.WriteLine("Введите элементы массива: ");
            for (i = 0; i < n; i++)
            {
                for (j = 0; j < m; j++)
                {
                    mas[i, j] = int.Parse(Console.ReadLine());
                }
            }
            Console.WriteLine("Вот он, выставочный зал: ");
            for (i = 0; i < n; i++)
            {
                for (j = 0; j < m; j++)
                {
                    Console.Write(mas[i, j] + "\t");
                }
                Console.WriteLine();
            }
            Console.WriteLine("------------------------------------------------");
            Console.WriteLine("Введите количество минут на посещение выставки: ");
            k = Int32.Parse(Console.ReadLine());
            int cur = mas[0, 0];
 
            for (i = 1; i < k; i++)
            {
                for (j = 1; j < k; j++)
                {
                    cur = max(mas[i - 1, j], mas[i + 1, j], mas[i, j - 1], mas[i, j + 1]) + mas[i, j];
                }
            }
            Console.WriteLine("Максимальная сумма составляет: " + cur);
            Console.ReadKey();
        }
 
        public static int max(int v1, int v2, int v3, int v4)
        {
            throw new NotImplementedException();
        }
    }
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.02.2017, 10:27
Ответы с готовыми решениями:

Определить рекурсивную функцию для нахождения максимального из n чисел
Определить рекурсивную функцию для нахождения максимального из n чисел. Написать программу,...

Используя шаблонный класс vector, напишите функцию нахождения максимального элемента в одномерном массиве
Не понимаю, как это сделать, можете написать программу

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

Написать функцию нахождения максимального значения в массиве
Помогите с заданием: Числовой массив B (вещественный) содержит k элементов. Элементы массива...

5
1451 / 844 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
16.02.2017, 10:53 2
C#
1
2
3
4
public static int max(int v1, int v2, int v3, int v4)
        {
            return new int[] { v1, v2, v3, v4 }.Max();
        }
0
Модератор
Эксперт .NET
5820 / 4697 / 2940
Регистрация: 20.04.2015
Сообщений: 8,359
16.02.2017, 11:00 3
Или
C#
1
2
3
4
public static int Max(int v1, int v2, int v3, int v4)
{
    return Math.Max(Math.Max(v1, v2), Math.Max(v3, v4));
}
0
0 / 0 / 0
Регистрация: 16.02.2017
Сообщений: 49
16.02.2017, 11:36  [ТС] 4
Даценд, у меня при выполнении программы, когда ввожу сколько минут на посещение выставки, выдает ошибку "Индекс находился вне границ массива". Я не могу разобраться в чем конкретно там проблема, может там с циклом проблема какая? и правильно ли я вообще так решил сделать с этой функцией?
0
Модератор
Эксперт .NET
5820 / 4697 / 2940
Регистрация: 20.04.2015
Сообщений: 8,359
16.02.2017, 11:53 5
wonderdoggydog,
Думаю, что даже если избавиться от выхода за границы массива, программа будет работать неправильно.
Она будет возвращать не максимальную сумму предметов, набранных в посещенных павильонах, а максимальную цену предмета в павильонах смежных с последним.
0
0 / 0 / 0
Регистрация: 16.02.2017
Сообщений: 49
16.02.2017, 12:06  [ТС] 6
А как это исправить? я что-то уже не догоняю, мне говорили, что там должно запоминать предыдущий шаг, чтобы потом в него вернуться в случае чего. Но как это реализовать я что-то не очень понимаю
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.02.2017, 12:06

Написать программу нахождения максимального из 4 чисел использовав функцию
Написать программу нахождения максимального из 4 чисел, использовать функцию нахождения...

Как написать функцию нахождения максимального элемента матрицы?
Добрый день, пробовал написать самостоятельно, получается вот что. Не компилируется естественно. ...

Написать функцию нахождения максимального значения элемента массива
Написать функцию нахождения максимального значения элемента массива,помогите пожалуйста!Просьба...

Написать функцию нахождения максимального значения в линейном односвязном списке
Нужно написать функцию нахождения максимального значения в линейном односвязном списке. Помогите...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru