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

Перегрузить функцию min(), при которой будет находиться минимальное число среди - C#

27.01.2017, 10:21. Просмотров 328. Ответов 4
Метки нет (Все метки)

Перегрузить функцию min(), при которой будет находиться минимальное число среди:
а) двух целых чисел;
б) трех целых чисел;
в) четырех дробных чисел.
Вот что есть!
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int min(int a, int b)
{
    return a < b ? a : b;
}
 
int min (int a, int b, int c)
{
    return a < b ? (a < c ? a : c) : (b < c ? b : c);
}
 
double min (double a, double b, double d, double s)
{
    
}

http://www.cyberforum.ru/csharp-beginners/thread1089287.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2017, 10:21
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Перегрузить функцию min(), при которой будет находиться минимальное число среди (C#):

Написать метод min(x, y), находящий минимальное значение из двух чисел. найти минимальное значе
Написать метод min(x, y), находящий минимальное значение из двух чисел. ...

Определить номер N области, в которой находиться точка M(x,y) с заданными координатами
Определить номер N области, в которой находиться точка M(x,y) с заданными...

Найти такую расстановку 12 коней на шахматной доске, при которой каждое поле будет находиться под ударом
Требуется найти такую расстановку 12 коней на шахматной доске, при которой...

Найти минимальное число среди положительных и максимальное число среди отрицательных
Дана некоторая последовательность из целых чисел оканчивающихся нулем. Найти...

Как написать функцию, при вызове которой будет изменено свойство объекта, его вызвавшего
Предположим, мы создали формовое приложение, добавили к проекту файл ex.cs и...

4
Людвиг Бодмер
356 / 355 / 211
Регистрация: 29.03.2013
Сообщений: 866
Завершенные тесты: 4
27.01.2017, 10:52 #2
Den41k1, ну если продолжать в том же духе:
C#
1
2
3
4
double min(double a, double b, double d, double s)
        {
            return a < b ? (a < d ? (a < s ? a : s) : (d < s ? d : s)) : (b < d ? (b < s ? b : s) : (d < s ? d : s));
        }
Но это уже кажется нечитаемо)
А Math.Min можно использовать?
C#
1
 return Math.Min(a,Math.Min(b,Math.Min(d,s)));
0
Pikemaster
298 / 298 / 215
Регистрация: 24.09.2013
Сообщений: 769
Завершенные тесты: 4
27.01.2017, 10:55 #3
Den41k1,
C#
1
2
3
4
5
6
7
8
double min (double a, double b, double d, double s)
{
    double min = Double.MaxValue;
    foreach (double q in new double[] { a, b, d, s })
        if (q < min)
            min = q;
    return min;
}
Добавлено через 2 минуты
Людвиг Бодмер, есть подозрения, что это лаба и нужно показать знание алгоритмов, так что скорее всего Math.Min неприемлемо. Хотя кто его знает)
1
Людвиг Бодмер
356 / 355 / 211
Регистрация: 29.03.2013
Сообщений: 866
Завершенные тесты: 4
27.01.2017, 11:19 #4
Pikemaster, тогда еще такой вариант :
C#
1
2
3
4
double min(double a, double b, double d, double s)
        {
            return (new double[] { a, b, d, s }).Min();
        }
Добавлено через 21 минуту
Рекурсии не хватает:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
static double min(double[] arr,int num)
        {
            if (num == 0)
            {
                return arr[0];
            }
            else
            {
                return (arr[num] < min(arr, num - 1))
                    ? arr[num]
                    : min(arr, num - 1);
            }
        }
C#
1
double res = min(new double[]{ 24.243, 322.34, 432.0, 22.2 }, 3);
1
jetyb
157 / 157 / 70
Регистрация: 26.10.2012
Сообщений: 487
Завершенные тесты: 1
27.01.2017, 12:02 #5
C#
1
2
3
4
5
6
7
8
9
10
        static IComparable Min(params IComparable[] args)
        {
            if (args.Length == 0) throw new Exception("Недопустимое число аргументов");
            var min = args[0];
            for (var i = 1; i < args.Length; i++)
            {
                if (min.CompareTo(args[i]) > 0) min = args[i];
            }
            return min;
        }
C#
1
2
3
4
Console.WriteLine(Min(1, 2, 3, 4, 5, 0));  //0
Console.WriteLine(Min(2d, 5d, 3d)); //2
Console.WriteLine(Min(1m, 5m, 3m)); //1
Console.WriteLine(Min("fdg", "a", "b")); // a
Число аргументов метода Min должно быть положительным, типы аргументов должны совпадать.
0
27.01.2017, 12:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2017, 12:02
Привет! Вот еще темы с решениями:

Найти минимальное число среди положительных чисел и максимальное число среди отрицательных чисел
Никак не могу понять ,как написать эту программу.Помогите пожалуйста. Задан...

Определить значение z=min(a,b,2c)*min(2a+b,2b,c), где min(x,y,z), есть минимальное из чисел x,y,z
помогите написать программу .определить значение z=min(a,b,2c)*min(2a+b,2b,c),...

Определить значение z, z=min(a,3b)*min(2a-b,2b), где min(x,y) есть минимальное из чисел x,y
Определить значение z, z=min(a,3b)*min(2a-b,2b), где min(x,y) есть минимальное...

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


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

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

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