Помогите с решением, пожалуйста! Требуется отсортировать массив по неубыванию методом...

0 голосов
243 просмотров

Помогите с решением, пожалуйста!
Требуется отсортировать массив по неубыванию методом "пузырька".

Входные данные
В первой строке вводится одно натуральное число, не превосходящее 1000 – размер массива. Во второй строке задаются N чисел – элементы массива (целые числа, не превосходящие по модулю 1000).

Выходные данные
Вывести получившийся массив.


Информатика (68 баллов) | 243 просмотров
Дан 1 ответ
0 голосов

Как ч понял сортировка по неубыванию это сортировка по возрастанию. То есть легкие элементы всплывают наверх, а тяжелые перемещаются вниз:

//Pascal
const m = 1000
var
    arr: array[1..m] of integer;
    n,i, j, k: integer;
begin
    readln(n);
    write ('Исходный массив: ');
    for i := 1 to n do begin
        readln(arr[i]);
    end;
//сортировка методом пузырька   
    for i := 1 to n-1 do
        for j := 1 to n-i do
            if arr[j] > arr[j+1] then begin
                k := arr[j];
                arr[j] := arr[j+1];
                arr[j+1] := k
            end;
 
    write ('Отсортированный массив: ');
    for i := 1 to n do
        write (arr[i]:4);
end.

Алгоритм сортировки на классическом языке программирования С

# define SWAP(A,B) {A=A^B;B=A^B;A=A^B;}
void bubblesort(int A[], int n)
 {
     int i, j;
     for(i = n-1 ; i > 0 ; i--)
          { for(j = 0 ; j < i ; j++)
               {
                   if( A[j] > A[j+1] ) SWAP(A[j],A[j+1]);
               }
           }
   }


(13.9k баллов)
0

Ой-ой! В Си..

0

Я добавил алгоритм сортировки пузырьком на Си (классика)

0

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

0

Огромное спасибо