Вопрос задан 27.10.2023 в 18:15. Предмет Информатика. Спрашивает Лис Валерия.

Отсортировать массив который заполнен случайными целыми числами методом прямого сравнения

0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Зайнашева Розалина.

PascalABC.NET 3.3, сборка 1627 от 27.01.2018

Внимание! Если программа не работает, обновите версию!

procedure SortByInsert(a: array of integer);

// сортировка простыми вставками

begin

 for var i := 1 to a.Length - 1 do

   if a[i - 1] > a[i] then begin

     var (p, j) := (a[i], i - 1);

     while (j >= 0) and (a[j] > p) do

       (a[j + 1], j) := (a[j], j - 1);

     a[j + 1] := p

   end

end;


begin

 var a := ArrRandom(15, -50, 50); a.Println;

 SortByInsert(a); a.Println

end.

Пример

-47 -37 -9 44 7 43 44 -10 5 -12 4 -24 7 21 -47

-47 -47 -37 -24 -12 -10 -9 4 5 7 7 21 43 44 44

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для сортировки массива, заполненного случайными целыми числами, методом прямого сравнения, можно использовать алгоритм сортировки пузырьком. Этот алгоритм проходит по массиву несколько раз, сравнивая соседние элементы и меняя их местами, если они находятся в неправильном порядке. Повторяя этот процесс до тех пор, пока массив не будет полностью отсортирован, мы получим отсортированный массив.

Вот пример кода на языке C++, который реализует сортировку пузырьком:

```cpp #include

void bubbleSort(int arr[], int size) { for (int i = 0; i < size - 1; i++) { for (int j = 0; j < size - i - 1; j++) { if (arr[j] > arr[j + 1]) { // Меняем местами элементы int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } }

int main() { int arr[] = {5, 2, 8, 12, 1}; int size = sizeof(arr) / sizeof(arr[0]);

bubbleSort(arr, size);

std::cout << "Отсортированный массив: "; for (int i = 0; i < size; i++) { std::cout << arr[i] << " "; } std::cout << std::endl;

return 0; } ```

В этом примере мы сначала объявляем функцию `bubbleSort`, которая принимает массив и его размер в качестве аргументов. Затем мы используем два вложенных цикла `for`, чтобы пройти по массиву и сравнить каждую пару соседних элементов. Если элементы находятся в неправильном порядке, мы меняем их местами. После завершения сортировки мы выводим отсортированный массив на экран.

Обратите внимание, что в этом примере мы используем фиксированный массив для наглядности. В реальной ситуации вы можете заполнить массив случайными числами перед вызовом функции `bubbleSort`.

Надеюсь, это поможет! Если у вас есть еще вопросы, не стесняйтесь задавать.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос