Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для NickM

Ветеран


Contributor


Сообщения: 4635
Благодарности: 1115

Профиль | Отправить PM | Цитировать


Офф-топ кончено, но на Паскале это могло бы выглядеть, например, так:
Скрытый текст
Код: Выделить весь код
const n=15;
var
v:array[1..n] of real;
k:integer;

procedure qSort(l,r:integer);
var i,j:integer;
    w,q:real;
begin
  i := l; j := r;
  q := v[(l+r) div 2];
  repeat
    while (v[i] < q) do inc(i);
    while (q < v[j]) do dec(j);
    if (i <= j) then
    begin
      w:=v[i]; v[i]:=v[j]; v[j]:=w;
      inc(i); dec(j);
    end;
  until (i > j);
  if (l < j) then qSort(l,j);
  if (i < r) then qSort(i,r);
end;

begin
randomize;
for k:=1 to n do begin               //Получаем массив значений
v[k]:=random(100);
writeln(round(v[k]));
end;
writeln('---');
qSort(1, n);                              //Сортируем массив
for k:=1 to n do begin
writeln(round(v[k]));
end;
writeln('---');
for k:=1 to n do 
if v[k]=v[k+1] then begin          //Сравниваем два соседних элемента, при совпадении выходим и сообщаем, что нашли
writeln(round(v[k]), ' , OK!');
break;
end;
if k=n then writeln('Nothing');   //Двух одинаковых не нашли - сообщаем об этом
end.

Осталось только на Powershell переложить

Отправлено: 10:45, 19-01-2022 | #4