Как определить наибольшую переменную из 4х и более переменных ?

dephhs1

Client
Read only
Регистрация
08.01.2017
Сообщения
112
Благодарностей
32
Баллы
28
Как определить наибольшую переменную из 4х и более переменных ?

Есть 4-7 переменных которые содержат цыфры
например:
а1 = 0
а2 = 1
а3 = 0
а4 = 1
а5 = 0
а6 = 4
а7 = 2

как определить какая переменная содержит наибольшое число ?
и вывести ее в переменную чтоб дальше с самой наибольшой переменной можно было работать ?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 458
Благодарностей
8 682
Баллы
113
Как определить наибольшую переменную из 4х и более переменных ?

Есть 4-7 переменных которые содержат цыфры
например:
а1 = 0
а2 = 1
а3 = 0
а4 = 1
а5 = 0
а6 = 4
а7 = 2

как определить какая переменная содержит наибольшое число ?
и вывести ее в переменную чтоб дальше с самой наибольшой переменной можно было работать ?
Собрать все переменные в список, список сортировать по уменьшению,
взять из списка первую строку, она будет наибольшей по значению.
 
  • Спасибо
Реакции: dephhs1

dephhs1

Client
Read only
Регистрация
08.01.2017
Сообщения
112
Благодарностей
32
Баллы
28
спасибо . все работает
 
  • Спасибо
Реакции: Sergodjan

dephhs1

Client
Read only
Регистрация
08.01.2017
Сообщения
112
Благодарностей
32
Баллы
28
Собрать все переменные в список, список сортировать по уменьшению,
взять из списка первую строку, она будет наибольшей по значению.
все работает как вы подсказали но я столкнулся с задачей посложнее
как теперь узнать под каким номером была наибольшая переменная ?
в примере я указал семь переменных а1 а2 и тд к примеру а4 являлась переменной с наибольшим числом и мы узнали это через список - а как узнать
под каким номером была наибольшая переменная а4 ?
это мне изначально нужно было их куда то добавить или как ?
потому что если я не знаю какая переменная по номеру наибольшая то я и не выполню качественно проект . зарание спасибо за советы и качественные ответы .

логикой if пробувал сравнить между собой переменные но там загвоздка ... к примеру если с них пару с одинаковым числом то не фига не пойму как продолжить действие .. да и не получается определить именно ту которая с наибольшим числом и какая она по счету ?
я и видео уроки смотрел и по логике и по переменным но именно моего примера : определения переменной с наибольшим числом и под каким именно она номером не нашел .

знатоки как вы реализуете подобное решение с переменными когда их более 4х и когда вы определили что к примеру 3я переменная является наибольшей - как тогда определить что она третья ? как выполнить такую задачу?
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 431
Баллы
113
Не сортируй список. Создай второй. И создай счетчик, бери с первого списка строки без удаления по номеру (номер будет счетчик), по циклу и записывай во второй перменная:номер(счетчик).
Когда строки закончатся в 1 списке, то он выйдет по ошибке. Далее его нужно сортировать и взять первую строку, эта строка будет идентификатором для поиска во втором списке.

Дальше можно пойти несколькими путями. Можно объединить элементы второго списка и регуляркой вытянуть строку с номером.
Или можно удалить все строки во втором списке "не содержащие...". Потом просто взять оставшуюся строку и произвести необходимые действия.
 
  • Спасибо
Реакции: dephhs1

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 458
Благодарностей
8 682
Баллы
113
как теперь узнать под каким номером была наибольшая переменная ?
- Скопировать исх. список в другой список
- Этот другой список отсортировать по уменьшению
- Взять из этого другого списка первую строку (максимальное значение)
- В цикле со счетчиком брать строку (по номеру) из первого списка и с помощью IF сравнивать с переменной, в которой максимальное значение
- Если значение взятой строки будет равно максимальному значению, то по номеру счетчика будет известен номер строки
- Если не равно, то продолжаем цикл взятия строки
 
  • Спасибо
Реакции: dephhs1 и Mikhail B.

SergSh

Client
Регистрация
10.05.2017
Сообщения
541
Благодарностей
395
Баллы
63
Код:
var list = project.Lists["numbers"];
var list2 = list.Select(s =>int.Parse(s)).ToList();
var rez = list2.Max(); // максимальное число
 

dephhs1

Client
Read only
Регистрация
08.01.2017
Сообщения
112
Благодарностей
32
Баллы
28
всем спасибо ! я почти сделал антибота ! оху..ный форум!
 

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