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

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

27.01.2017, 10:21. Просмотров 432. Ответов 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)
{
    
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2017, 10:21
Ответы с готовыми решениями:

Напишите функцию которая будет находить минимальное значение из трех
Напишите функцию которая будет находить минимальное значение из трех.

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

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

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

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

4
Людвиг Бодмер
357 / 356 / 211
Регистрация: 29.03.2013
Сообщений: 867
Завершенные тесты: 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
300 / 300 / 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
Людвиг Бодмер
357 / 356 / 211
Регистрация: 29.03.2013
Сообщений: 867
Завершенные тесты: 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
171 / 169 / 73
Регистрация: 26.10.2012
Сообщений: 514
Завершенные тесты: 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

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

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

Определить значение 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),...


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

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

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