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

найти наибольших 2 элемента в 6 переменных не прибегая к массиву   Найти похожие ветки 

← →
JibSkeart ©   (2003-12-19 12:01) [0]

Вот как это сделать

куча if-ов не больно то подходит ,
почему нелзя при помощи массивов ,
этот алгоритм мы перебросим на пик контролер
а там ну просто память не резиновая :),
вот и приходится задумыватся об оптимизации ,
есть конечно и еще варианты которые я продумываю но они уж
скорее будут на асме .


← →
Anatoly Podgoretsky ©   (2003-12-19 12:07) [1]

Реализация алгоритма займет больше памяти, чем две переменные


← →
JibSkeart ©   (2003-12-19 12:10) [2]

это все понятно,
просто может есть какойнибудь еше выход ??

а массив это скорее всего крайний случай ...
про массивы там вообще свая песня :)


← →
Brahman ©   (2003-12-19 12:17) [3]

Перейдите от переменых к массиву и все.


← →
uw ©   (2003-12-19 12:32) [4]

>Anatoly Podgoretsky © (19.12.03 12:07) [1]
>Реализация алгоритма займет больше памяти, чем две переменные

Этот тезис справедлив в случае процессоров принстонского типа, т.е. когда программа и данные адресуются одинаковым образом. В контроллерах, как правило, это не так.


← →
REA ©   (2003-12-19 12:35) [5]

Не гарантирую, что сработает.

M12 := Max(V1, V2);
M34 := Max(V3, V4);
M56 := Max(V5, V6);
M1 := Max(M12, M43);
M2 := Max(M34, M56);


← →
Рамиль ©   (2003-12-19 12:41) [6]


> этот алгоритм мы перебросим на пик контролер
> а там ну просто память не резиновая :),

а в чем проблема? Ну гарвардская архитекура у него... Но эти шесть переменных будут занимать столько же места в ОЗУ, а в ПЗУ наооборот при работе с циклом меньше места будет требоваться. Неужели все так в притык?


← →
Vlad Oshin ©   (2003-12-19 12:44) [7]


> REA © (19.12.03 12:35) [5]

1 2 48 49 3 4
48 - отсеяется на 2 шаге


← →
JibSkeart ©   (2003-12-19 13:02) [8]

Угу в притык :(


← →
Рамиль ©   (2003-12-19 13:19) [9]

На КР1878ВЕ1 я бы еще помог, но PIC для меня темный лес...


← →
Романов Р.В. ©   (2003-12-19 13:49) [10]

function max2(m1,m2,v)
begin
if (m2<v) and (v<m1) then
reslt := v;
end;

m1:=v1;
m2:=v1;
m1:=max(m1,v2);
m2:=max2(m1,m2,v2);
и т.д.


← →
Vlad Oshin ©   (2003-12-19 15:04) [11]

тут надо как-то по сравнению сумм троек чисел, интуиция подсказывает....


← →
ИдиотЪ ©   (2003-12-19 15:08) [12]

отсортировать и взять ближайшие
сортировка не требует места при желании


← →
REA ©   (2003-12-19 15:12) [13]

На пике я писал. Контроллер как контроллер. Памяти там достаточно, если разумно использовать.



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

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



Память: 0.48 MB
Время: 0.018 c
7-25629
*FoX*
2003-10-26 17:56
2004.01.09
Интерфейс


6-25467
X-Disa
2003-11-09 12:35
2004.01.09
Stream


1-25424
IvanVin
2003-12-24 09:06
2004.01.09
Компонент


1-25293
Kair
2003-12-23 11:28
2004.01.09
auxDIBImageLoad();


1-25295
АМБ
2003-12-23 11:37
2004.01.09
Работа с TreeView




   Наверх