Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.28;
Скачать: CL | DM;

Вниз

Min & Max   Найти похожие ветки 

 
AlexNO   (2002-11-19 10:43) [0]

Как вычислить минимальное и максимальное значения из диапазона чисел, количество которых заранее неизвестно? Больше интересует алгоритм, чем код, но от последнего тоже не откажусь ;)


 
han_malign ©   (2002-11-19 10:59) [1]

max:=data[Low(data)];
min:=data[Low(data)];
for i:=Low(data)+1 to High(data)do begin
if(data[i]>max)then max:=data[i];
if(data[i]<min)then min:=data[i];
end;

- если числа вводятся последовательно, то тоже самое, только не в цикле, а по мере ввода, [min,max] - текущий диапазон последовательности(min и max - называют аккумуляторами результата).


 
AndreyAgSoft ©   (2002-11-19 11:06) [2]

Алгоритм поиска минимального значения из массива Mus
var
Mus:array of integer;
Min:Integer;
begin
//Здесь вводим массив
//********************
//*****************************

//Находим минимальный элемент
Min:=Mus[0];
for i:=1to High(Mus) do
Begin
if Mus[i]<Min then Min:=Mus[i];
end;
//Отображаем его
showmessage(IntToStr(Min));
end;


 
nejest ©   (2002-11-19 11:09) [3]

Алгоритм будет сильно зависеть от того как ты будешь хранить эти числа. т.е. укажи как будешь их хранить.


 
AndreyAgSoft ©   (2002-11-19 11:15) [4]

>nejestТы имеешь ввиду скорость работы алгоритма?


 
han_malign ©   (2002-11-19 11:21) [5]

В данном случае прямой перебор самый быстрый, даже если делать сортировку по мере вставки - те же самые сравнения, только для каждого элемента их больше(даже в случае дихотомии или бинарного дерева). Способ итерирования элементов значения не имет, что x[i], что x:=x.next; x.value.


 
nejest ©   (2002-11-19 11:46) [6]

Я имею ввиду что данные можно хранить не только в масивах. А про масивы всё изложил han_malign но ведь можно хранить просто в памяти и тогда придётся работать с указателями, но суть останется та же.


 
han_malign ©   (2002-11-19 12:24) [7]

inc(LongWord(ptr),sizeof(<тип>)); <тип>(ptr^)... :)))))



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

Текущий архив: 2002.11.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.01 c
3-92908
alxx
2002-11-10 18:24
2002.11.28
Windows NT-authentification в MSSQLServer


1-92980
AlekseyK
2002-11-18 15:58
2002.11.28
ColorToRgb


1-93000
Viktor Kushnir
2002-11-18 20:21
2002.11.28
System Error. Code: 87.


1-93070
ЮРИЙ_К
2002-11-16 10:30
2002.11.28
Назойливый Warning компилятора


1-93080
Шишкин Илья
2002-11-16 15:49
2002.11.28
Как создать цикл?