Подскажите как найти самое меньшее значение

maks_pays

Client
Регистрация
01.01.2017
Сообщения
186
Благодарностей
50
Баллы
28
Подскажите как найти самое меньшее значение из нескольких переменных путём сниппета желательно..
 

S16er1um

Client
Регистрация
14.04.2016
Сообщения
826
Благодарностей
240
Баллы
43
Создать отдельную переменную Max. Инициализировать её нулём вначале, а потом сравнивать с другими через if. Если значение с которым сравниваем больше текущего - записывать в переменную Max это значение, иначе - сравнивать дальше.
2ой вариант. Закинуть все переменные в таблицу и сортировать. затем взять 1ое значение
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
если с помощью сниппета, то надо знать конкретно количество переменных и их названия, или предложенный выше - вариант с таблицей - очень хороший
 

maks_pays

Client
Регистрация
01.01.2017
Сообщения
186
Благодарностей
50
Баллы
28
если с помощью сниппета, то надо знать конкретно количество переменных и их названия, или предложенный выше - вариант с таблицей - очень хороший
переменных 10 можно пример
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
C#:
var first = Convert.ToInt32(project.Variables["первая переменная"].Value);
var second = Convert.ToInt32(project.Variables["вторая переменная"].Value);
var fird = Convert.ToInt32(project.Variables["третья переменная"].Value);
int[] array = {first, secon, fird}
int max = array.Max();
return max;
Это с тремя значениями, десять точно также по аналогии
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
но надо учитывать - целые или дробные числа, если дробные, то другой тип надо прописать - и при конверте и при создании массива
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
от блин, я тебе для максимального значения написал)) но для минимального - тоже самое только Min а не макс надо))
вместо
C#:
int max = array.Max();
надо
C#:
int min = array.Min()
 

maks_pays

Client
Регистрация
01.01.2017
Сообщения
186
Благодарностей
50
Баллы
28
Что то не работает_
Код:
var first = Convert.ToInt32(project.Variables["txtA0"].Value);
var second = Convert.ToInt32(project.Variables["txtA1"].Value);
var fird = Convert.ToInt32(project.Variables["txtA2"].Value);
int[] array = {first, second, fird}
int min = array.Min()
return min;
 

maks_pays

Client
Регистрация
01.01.2017
Сообщения
186
Благодарностей
50
Баллы
28
от блин, я тебе для максимального значения написал)) но для минимального - тоже самое только Min а не макс надо))
вместо
C#:
int max = array.Max();
надо
C#:
int min = array.Min()
Что то не работает_
 

maks_pays

Client
Регистрация
01.01.2017
Сообщения
186
Благодарностей
50
Баллы
28
Числа только целые
 

maks_pays

Client
Регистрация
01.01.2017
Сообщения
186
Благодарностей
50
Баллы
28
Создать отдельную переменную Max. Инициализировать её нулём вначале, а потом сравнивать с другими через if. Если значение с которым сравниваем больше текущего - записывать в переменную Max это значение, иначе - сравнивать дальше.
2ой вариант. Закинуть все переменные в таблицу и сортировать. затем взять 1ое значение
Увы нужен сниппет - для ускорения вычислений .
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113

maks_pays

Client
Регистрация
01.01.2017
Сообщения
186
Благодарностей
50
Баллы
28

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113

maks_pays

Client
Регистрация
01.01.2017
Сообщения
186
Благодарностей
50
Баллы
28
выше дан пример. добавить переменные в список, список отсортировать как числа
Я ответил не вариант - пробовал только не таблицей а списком. . Тормозит процесс
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113

maks_pays

Client
Регистрация
01.01.2017
Сообщения
186
Благодарностей
50
Баллы
28
сортировка 10 переменных тормозит, правильно понял я?
Объясняю тебе человек :
1 нужно отсортировать
2 нужно взять минимальное значение и прогнать кубиком по остальным 9 чтобы найти данную переменную (потаму что мне не только минимальное значение нужно но и ее переменную)
А это время - мне таких операций надо провернуть более 200 к не буду же я 3-4 дня вычислять . .у меня VDS нету - все работы на Моноблоке))
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
C#:
var first = Convert.ToInt32(project.Variables["первая переменная"].Value);
var second = Convert.ToInt32(project.Variables["вторая переменная"].Value);
var fird = Convert.ToInt32(project.Variables["третья переменная"].Value);
int[] array = {first, second, fird};
int min = array.Min();
return min;
там точка с запятой была пропущена
 
  • Спасибо
Реакции: proffman и maks_pays

maks_pays

Client
Регистрация
01.01.2017
Сообщения
186
Благодарностей
50
Баллы
28
сортировка 10 переменных тормозит, правильно понял я?
Архип1985 Скинул код но что то не работает - Может кто поможет под коректировать
C#:
var first = Convert.ToInt32(project.Variables["первая переменная"].Value);
var second = Convert.ToInt32(project.Variables["вторая переменная"].Value);
var fird = Convert.ToInt32(project.Variables["третья переменная"].Value);
int[] array = {first, second, fird};
int min = array.Min();
return min;
там точка с запятой была пропущена
Спасибо))
 

maks_pays

Client
Регистрация
01.01.2017
Сообщения
186
Благодарностей
50
Баллы
28
Подскажите как среднее число получить
 

maks_pays

Client
Регистрация
01.01.2017
Сообщения
186
Благодарностей
50
Баллы
28
Подскажи
C#:
var first = Convert.ToInt32(project.Variables["первая переменная"].Value);
var second = Convert.ToInt32(project.Variables["вторая переменная"].Value);
var fird = Convert.ToInt32(project.Variables["третья переменная"].Value);
int[] array = {first, second, fird};
int min = array.Min();
return min;
там точка с запятой была пропущена
те как среднее число получить а не мин и макс
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 114
Баллы
113
Подскажите как среднее число получить
Подскажи

те как среднее число получить а не мин и макс
C#:
var v1 = Convert.ToInt32(project.Variables["var1"].Value);
var v2 = Convert.ToInt32(project.Variables["var2"].Value);
var v3 = Convert.ToInt32(project.Variables["var3"].Value);
var summ = v1+v2+v3;
var res = summ/3;
return res;
 

maks_pays

Client
Регистрация
01.01.2017
Сообщения
186
Благодарностей
50
Баллы
28
C#:
var v1 = Convert.ToInt32(project.Variables["var1"].Value);
var v2 = Convert.ToInt32(project.Variables["var2"].Value);
var v3 = Convert.ToInt32(project.Variables["var3"].Value);
var summ = v1+v2+v3;
var res = summ/3;
return res;
Неправильно задал вопрос... пример:
var1 = 1,25
var2 = 1,55
var3 = 1,75
нужен сниппет каторый покажет среднее - 1,55
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 114
Баллы
113
Неправильно задал вопрос... пример:
var1 = 1,25
var2 = 1,55
var3 = 1,75
нужен сниппет каторый покажет среднее - 1,55
Все еще непонятно, вам нужно именно высчитывать среднее или возвращать значение из средней по значению переменной?

Если первое, то с дробными числами так:
C#:
var v1 = Convert.ToDouble(project.Variables["var1"].Value);
var v2 = Convert.ToDouble(project.Variables["var2"].Value);
var v3 = Convert.ToDouble(project.Variables["var3"].Value);
double summ = v1+v2+v3;
double res = summ/3;
return res;

PS: Если все же второе, то алгоритм такой:

- брать минимиум
- брать максимум
- логическим блоком выделять среднее, не равное минимуму и максимуму.

PS2: А вот тут обсуждалось, с рабочим примером, взятие медианного значения из массива (спасибо @BAZAg ):
 
Последнее редактирование:

Кто просматривает тему: (Всего: 6, Пользователи: 0, Гости: 6)