Вниз
Скачать: CL | DM;

Максимальный, да не тот...   Найти похожие ветки 

 
DeepProg ©   (2002-08-14 19:52) [0]

Описание:


var Massiv: Array of Double;
a,b:double;
...
a:=MaxValue(Massiv); // присваивается максимальное значения элемента в массиве

b:=MaxValue(Massiv); // должно присваиваться максимальное значение элемента в массиве, но это должен быть элемент отличный от присвоенного к переменной а.


Вопрос: КАК ЭТО СДЕЛАТЬ?


 
TTCustomDelphiMaster ©   (2002-08-14 20:06) [1]

Тогда нужно самому проверять все элементы в цикле. MaxValue как раз так и работает.


 
Jeer ©   (2002-08-14 22:58) [2]

Временно присвоить найденному максимальному значение минимальное значение, тогда MaxValue даст следующий максимальный элемент.
Шутка, но работает.


 
DeepProg ©   (2002-08-15 16:50) [3]

Jeer,
если не трудно, напишите код, я об этом уже подумывал, но вот, как раз не дошел до того как конкретно это сделать, ведь чтобы присвоить найденному максимальному значению элемента минимальное значение, я должен знать его индекс в массиве...


Неужели мне только и остается, как сказал TTCustomDelphiMaster, пребирать все элементы вручную? Если это так, то Ваш код, конечно, не потребуется.


 
Ученик ©   (2002-08-15 16:58) [4]

А использовать TDoubleArray из Mxarrays.pas тут не пойдет (там сортировка есть) ?


 
Skier ©   (2002-08-15 17:00) [5]

>DeepProg

Можно переписать этот MaxValue
(чтобы он возвращал ещё и индекс)

Как-то так :


function _MaxValue(const Data: array of Double; var AIndex :
Integer): Double;
var
I: Integer;
begin
Result := Data[Low(Data)];
AIndex := Low(Data);
for I := Low(Data) + 1 to High(Data) do
if Result < Data[I] then begin
Result := Data[I];
AIndex := I;
end; //if
end;


 
TTCustomDelphiMaster ©   (2002-08-15 17:32) [6]

Тогда уж лучше так

function _MaxValue2(const Data: array of Double; const Max1 :
Double): Double;
var
I: Integer;
begin
Result := Data[Low(Data)];
AIndex := Low(Data);
for I := Low(Data) + 1 to High(Data) do
if (Result < Data[I]) and (Data[I] < Max1) then
Result := Data[I];
end;


 
DeepProg ©   (2002-08-15 19:11) [7]

Хе-хе, спасибо, именно так я уже и сделал.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.009 c
4-85296
MikeZ
2002-06-22 23:10
2002.08.26
Информация из *.lnk файла. (any Delphi)


3-84867
Борис
2002-08-03 12:44
2002.08.26
Какой БД воспользоваться, чтобы доступ к ней можно было получать


14-85206
Nox
2002-07-30 22:39
2002.08.26
<<<Война и мир>>>


8-85131
Янушка
2002-04-18 14:26
2002.08.26
Как организовать простенькую анимацию в Delphi?


14-85242
Chunya
2002-08-01 12:31
2002.08.26
Кто знает сайты с которых можно бесплатно скачать фильмы




   Наверх