PDA

Просмотр полной версии : Сортировка



Charli18
02.02.2023, 13:58
Привет уважаемые коллеги, кто нибудь сталкивался с сортировкой пузырьком, или что то подобное. Может быть кто то сталкивался, или есть готовый макрос. Суть в том чтобы из 4 переменных, значения которых меняются, находить в какой max значение. на ПР200

Dimensy
02.02.2023, 16:45
В менеджере компонентов есть макрос MAX/10_. Его под себя переработать

Денисов Максим Сергеевич
02.02.2023, 22:26
Привет уважаемые коллеги, кто нибудь сталкивался с сортировкой пузырьком, или что то подобное. Может быть кто то сталкивался, или есть готовый макрос. Суть в том чтобы из 4 переменных, значения которых меняются, находить в какой max значение. на ПР200

Получилась универсальная функция для определения макс или мин из чисел, меняйте только входные переменные и размер массива (кол-во переменных)

function MaxI: udint; //Максимальное число при помощи пузырьковой сортировки от меньшего к большему
var_input //объявление входных переменных
X1, X2, X3, X4: udint; //входные числа (и т.д. X5, X6... до требуемого кол-во чисел для сортировки)
end_var

var //объявление локальных переменных
i,j,n,k: udint;
x: array [1..4] of udint;
end_var
//PRG

n:=4; // задается кол-во чисел для сортировки

x[1]:=x1;
x[2]:=x2;
x[3]:=x3;
x[4]:=x4;

for i := 1 to n-1 do
for j := 1 to n-i do
if x[j]>x[j+1] then
k:=x[j];
x[j]:=x[j+1];
x[j+1]:=k;
end_if;
end_for;
end_for;

MaxI:=x[n]; //выводится последнее (максимальное) число массива
//MinI:=x[1]; //выводится первое (минимальное) число массива

end_function

Сергей0308
02.02.2023, 22:29
Привет уважаемые коллеги, кто нибудь сталкивался с сортировкой пузырьком, или что то подобное. Может быть кто то сталкивался, или есть готовый макрос. Суть в том чтобы из 4 переменных, значения которых меняются, находить в какой max значение. на ПР200

Так поиск переменной с максимальным значения из нескольких это вроде даже и сортировкой не назовёшь, сортировка, это когда определяется ранг всех переменных в зависимости от какого-то параметра(например значения), а здесь просто поиск переменной с максимальным значением из нескольких, короче, это проще сортировки и вот здесь в посте #695 я выкладывал макрос нахождения переменной с максимальным значением из 16: https://owen.ru/forum/showthread.php?t=25067&page=70

65684

65685

65694

capzap
03.02.2023, 09:19
Получилась универсальная функция для определения макс или мин из чисел
пока функции ST не могут входить в состав макроса, а только на главном холсте, от них ни холодно ни жарко. Это вспомогательный элемент в вычислениях, а не как структурный элемент проекта

Денисов Максим Сергеевич
03.02.2023, 09:22
Согласен с вами, скоро выпустим FB на ST и следующим шагом займемся реализацией использования функций в макросах

Charli18
03.02.2023, 12:11
Всем огромное спасибо,!!! В целом вопрос закрыт!!