![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() скажем, есть 10-20 переменных в программе.
есть ли какой(я)-нибудь способ-фунция найти максимальное, 2ое значение из этих (списка) переменных без всяких циклов и сравнений? если нет то какой способ самый быстрый и лучший? еще бы неплохо было б запомнить какая именно переменная больше всех... Пожалуйста, будте терпимы к моей тупости - учусь с нуля в преклонном возрасте... |
#2
|
||||
|
||||
![]() 10-20 переменных похожего смысла надо объединять в массив. Тогда и не будет вопросов, как найти наибольшее. Иначе будет громадный и дико медленный алгоритм на пару листов кода.
Насчет "без всяких циклов и сравнений" вообще не понял - само слово "наибольшее" означает, что оно больше других, то есть его сравнение с остальными. Как можно сравнить с остальными, не сравнивая? ![]() Если очень надо без циклов и без массива - то как-то так: Код:
var a,b,c,d,e,f,........:word; max:integer; ... max:=0; if a>max then max:=a; if b>max then max:=b; if c>max then max:=c; ......... jmp $ ; Happy End! The Cake Is A Lie. Последний раз редактировалось Bargest, 08.02.2012 в 15:48. |
#3
|
|||
|
|||
![]() ну я думал как то так:
Код:
var a,b,c,d,e,f,........:word; max:integer; max:= какая то функция (a,b,c,d,e,f,........) Пожалуйста, будте терпимы к моей тупости - учусь с нуля в преклонном возрасте... |
#4
|
||||
|
||||
![]() В таком случае
max:= max(a,max(b,max(c,max(d,max(..,..))))); Но, думаю, циклы и массивы лучше... |
#5
|
||||
|
||||
![]() Код:
//-------finction----------- function MaxValue(ar: array of integer): Integer; var i: Itneger; begin Result := Low(ar); for i := Low(ar) to High(ar) do if Result > ar[i] then Result := ar[i]; end; //-------usage----------- ShowMessage(IntToSrt(MaxValue(a, b, c, d...,y,z))); Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |
#6
|
|||
|
|||
![]() существуют Math.MaxValue(array):double, Math.MaxIntValue(array): int
|
#7
|
||||
|
||||
![]() Не IntToSrt а floatToStr
![]() Параметры нужно в квадратные скобки взять MaxValue([a, b, c, d...,y,z])) Но это все-равно и цикл, и массивы... |
#8
|
||||
|
||||
![]() Цитата:
2. я указал, что писал на коленке. Про квадратные скобки просто забыл. Бывает. Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |