М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
KuDiAnA2003
KuDiAnA2003
15.03.2022 10:33 •  Информатика

Написать программу. 3. упорядочить массив по возрастанию ( по убыванию)

👇
Ответ:
//Метод быстрой сортировки
//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.
4,5(52 оценок)
Открыть все ответы
Ответ:
nastya3454578335678
nastya3454578335678
15.03.2022
Использовать источники открытого огня (спички, зажигаприносить на уроки легковоспламеняющиеся вещества (лаки, краски, порох и т.п.); лки, петарды и др.); работать с электроприборами, имеющими повреждения корпуса или изоляции соединительных проводов; вставлять в отверстие приборов посторонние предметы; приносить и самовольно подключать какое-либо оборудование; производить самовольное переключение разъёмов оборудования; вставлять в отверстие приборов посторонние предметы; работать с электроприборами, имеющими повреждения корпуса или изоляции соединительных проводов;
4,4(69 оценок)
Ответ:
sedoidenis2000
sedoidenis2000
15.03.2022

#include <iostream>

#include <cstdlib>

using namespace std;

int main()

{

setlocale(LC_ALL,"russian");

cout << "Введите размер массива: ";

int N;

cin >> N;

N=N--;

unsigned int a[N];

for (int b = 0; b<=N; b++)

{

cout << "Введите число номер " << b << ": ";  

cin >> a[b];

}

for(int i=0; i<=N; i++)

{

if(a[i]<=255)

{

 cout << "Количество разрядов числа " << a[i] << " - 8" << endl;

}

if(a[i]>=256 && a[i]<=65535)

{

 cout << "Количество разрядов числа " << a[i] << " - 16" << endl;

}

if(a[i]>=65536 && a[i]<=4294967295)

{

 cout << "Количество разрядов числа " << a[i] << " - 32" << endl;

}

}

   system("pause");

   return 0;

}

Надеюсь, правильно понял определение разрядов.

Есть пожелания - в комментарии

4,6(7 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ