Как ч понял сортировка по неубыванию это сортировка по возрастанию. То есть легкие элементы всплывают наверх, а тяжелые перемещаются вниз:
//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]); } } }
Pascalabc.net var a: array[1..10000] of integer; kz,maxp,n,i,j: integer; begin i: =0; maxp: =integer.minvalue; writeln ('готов к приему чисел'); repeat i: =i+1; readln (a[i]); until a[i]=0; n: =i-1; readln (kz); for i: =1 to n-1 do for j: =2 to n do if maxp< (a[i]*a[j]) then maxp: =(a[i]*a[j]); writeln ('получено ',n,' чисел'); writeln; writeln ('полученное контрольное значение: ',kz); writeln; writeln ('вычисленное контрольное значение: ',maxp); writeln; if kz=maxp then writeln ('контроль пройден') else writeln ('контроль не пройден'); end. результаты: 1) готов к приему чисел 1 2 3 4 5 0 20 получено 5 чисел полученное контрольное значение: 20 вычисленное контрольное значение: 20 контроль пройден 2) готов к приему чисел 1 2 3 4 5 6 0 20 получено 6 чисел полученное контрольное значение: 20 вычисленное контрольное значение: 30 контроль не пройден