Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2sem / LR6_2

.m
Скачиваний:
1
Добавлен:
01.04.2024
Размер:
1.33 Кб
Скачать
clc
clear
N=10^2;
mt=1;
mc=1;
im=1;
i=1; %строки 4-7 счетчики
S=fix(N*rand ([1 N])); %отсортированный массив
function[S] = quicksort(S);
if ~(numel(S)<=1);
global cm;
cm=cm+1;
pivot=S(1);
A1=quicksort(S(S<pivot));
A2=S(S==pivot);
A3=quicksort(S(S>pivot));
S=[A1 A2 A3];
end
end
y=quicksort(S);
tic
while i<(N-1)
j=i;
while j<N && (y(j)==y(j+1));
mt=mt+1; %сколько раз число равно последующему при шаге 1
j=j+1; %делаем шаг
end
i=i+mt; %новая точка отсчета
if mt > mc %наличие повторений числа
mc=mt; %запоминаем количество наибольших повторений, с которым далее будем сравнивать в строке 16
im=(i-mt); %перемещение в начало повторений
end
mt=1; %"обнуление" счетчика повторений числа
end
toc
if mc>1 %если есть число повторяющееся больше 1 раза
disp("Число первой наибольшей моды")
disp(y(im))
disp("Позиция начала моды")
disp(im)
disp("Длительность моды")
disp(mc)
else
disp('No mode')
end


Соседние файлы в папке 2sem