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

Shevchenko / 2sem / LR6_2

.m
Скачиваний:
9
Добавлен:
01.04.2024
Размер:
1 Кб
Скачать
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