Форум: "Основная";
Текущий архив: 2003.01.27;
Скачать: [xml.tar.bz2];
ВнизКак проще в массиве найти минимальное и максимальное значение ? Найти похожие ветки
← →
Кен (2003-01-18 04:44) [0]Чую, что есть какая то функция, но как она называется ? Числа - Extended. Массив трёхмерный. Подскажите, пожалуйста !
← →
Думкин (2003-01-18 09:17) [1]В одномерном случае в модуле Math есть функции MaxValue,MinValue.
Посмотри тамошнюю реализациию - и реализуй свою.
← →
Думкин (2003-01-18 09:39) [2]Посмотрел.
Реализация оригинальностью не отличается - стандартно.
Поэтому пиши свою - в три цикла. :-)
← →
Sha (2003-01-18 10:45) [3]> Кен (18.01.03 04:44)
> Как проще в массиве найти минимальное и максимальное значение ?
Проще не искать :). Откуда в нем берутся значения? Если заносишь сам, то по ходу дела и определяй все, что надо.
Если все же надо искать, то напиши свою процедуру, которая за один проход ищет оба значения.
Если массив маленький, а ищешь часто, подумай об отимизации.
Внутренний цикл делай по самому большому измерению, внешний - по самому малому. Еще лучше переопределить массив через absolute и рассчитать все по единственному мзмерению.
> Думкин © (18.01.03 09:39)
> ...Поэтому пиши свою - в три цикла. :-)
В три цикла - не круто, можно в один (пример для целых чисел):
procedure TForm1.Button1Click(Sender: TObject);
type
TMinMaxFunc=function(Data: pointer; Bound: Integer): Integer;
const
m=10; n=10; k=10;
var
f: TMinMaxFunc;
a: array[1..m,1..n,1..k] of integer;
begin
@f:=@MaxIntValue; Showmessage(IntToStr(f(@a[1,1,1],m*n*k-1)));
end;
← →
Думкин (2003-01-18 11:06) [4]
> Sha © (18.01.03 10:45)
> В три цикла - не круто, можно в один (пример для целых чисел):
Иногда важнее не крутота - а понимание того что делаешь. :-)
← →
Sha (2003-01-18 11:09) [5]> Думкин © (18.01.03 11:06)
> Иногда важнее не крутота - а понимание того что делаешь. :-)
Согласен. Но тут вроде никто не говорил, что у него с этим проблемы. :-)
← →
- Tsatur - (2003-01-19 01:55) [6]var
a:array[1..10,1..10,1..10] of integer
x:extended;
i,j,k:integer;
begin
x:=0;
for i:=1 to 10 do
for j:=1 to 10 do
for k:=1 to 10 do
if x< a[i,j,k] then x:=a[i,j,k]
← →
Кен (2003-01-19 05:39) [7]Спасибо за помощь !
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.01.27;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c