Ответы на вопрос:
//метод быстрой сортировки //pascal abc.net v3.1 сборка 1172 //по возрастанию const n=55; type ty=array[1..n] of integer; var ar: ty; s: integer; procedure quicksort(l,r: integer); var i,j,x,temp: integer; begin i: =l; //левый конец j: =r; //правый конец x: =ar[random(r-l+1)+l]; repeat while ar[i]< x do inc(i); //пока выбранный элемент больше всех, что левее его(всё норм), увеличивать индекс while x< ar[j] do dec(j); //пока выбранный элемент меньше всех, что правее его(всё норм), уменьшать индекс if i< =j then //если левый индекс меньше или равен правому-продолжать begin temp: =ar[i]; ar[i]: =ar[j]; ar[j]: =temp; inc(i); //чтобы не запустить бесконечную рекурсию dec(j); end; until i> =j; if l< j then quicksort(l,i); //l-левый конец нового витка, j-правый if r> i then quicksort(i,r); //r-левый конец нового витка, i-правый end; begin randomize; writeln('first array: '); for s: =1 to n do begin ar[s]: =random(n); write(ar[s]: 4); end; quicksort(1,n); writeln; writeln('final array: '); ar.println; end. //по убыванию const n=55; type ty=array[1..n] of integer; var ar: ty; s: integer; procedure quicksort(l,r: integer); var i,j,x,temp: integer; begin i: =l; //левый конец j: =r; //правый конец x: =ar[random(r-l+1)+l]; repeat while ar[i]> x do inc(i); //пока выбранный элемент больше всех, что левее его(всё норм), увеличивать индекс while x> ar[j] do dec(j); //пока выбранный элемент меньше всех, что правее его(всё норм), уменьшать индекс if i< =j then //если левый индекс меньше или равен правому-продолжать begin temp: =ar[i]; ar[i]: =ar[j]; ar[j]: =temp; inc(i); //чтобы не запустить бесконечную рекурсию dec(j); end; until i> =j; if l< j then quicksort(l,i); //l-левый конец нового витка, j-правый if r> i then quicksort(i,r); //r-левый конец нового витка, i-правый end; begin randomize; writeln('first array: '); for s: =1 to n do begin ar[s]: =random(n); write(ar[s]: 4); end; quicksort(1,n); writeln; writeln('final array: '); ar.println; end.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
masya9028.12.2021 12:01
-
MiyaGi22830.08.2020 07:30
-
elizavetachery09.09.2022 15:09
-
linda28105.06.2023 20:12
-
bulavskaaana15.06.2021 06:36
-
gaiciuknataliaozve2o12.10.2021 21:25
-
Шахлинка07.10.2020 00:45
-
Pelyovin198010.10.2020 19:03
-
uhon1k10.04.2020 07:20
-
lizabelova0003.07.2021 20:44
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.