Const
N = 10;
Var
a: array[1..N] of integer;
i: integer;
num: integer
j: integer;
buf: integer
k: integer;
begin
for k:=1 to N do begin
write('a[',k,']= '); readln(a[k]);
end;
writeln('исходный массив:');
for k:=1 to N do write(a[k]:5); writeln;
writeln('сортировка');
for i:=1 to N-1 do begin
num:=i;
for j:=i+1 to N do
if a[j]
buf:=a[i]; a[i]:=a[num]; a[num]:=buf;
for k:=1 to N do write(a[k]:5); writeln;
end;
writeln('отсортированный массив:');
for k:=1 to N do write(a[k]:5); writeln;
readln;
end.
Во Определить метод сортировки.
2. Возможно ли применить данный метод сортировки для сортировки массивов по возрастанию, так и для сортировки массивов по убыванию?
3. Опишите последовательность действий и реализуйте их в программе, если ответ на второй во будет положительным.
4. Реализуйте программу для массива: [-8; 14; -5; 36; 99; 45]. Представить результаты
5. Составить алгоритм работы представленной программы в словесной форме.
begin
var a:=ArrRandom(100,-10,10);
a.Println;
Writeln(a.Where(x->x>0).Count,' положительных, ',
a.Where(x->x<0).Count,' отрицательных')
end.
Тестовое решение:
4 -6 0 8 2 -2 -1 -8 -6 8 -3 7 4 -7 -5 9 0 -3 -7 1 0 -4 6 3 8 -10 4 9 3 5 8 5 5 8 10 4 -8 3 8 8 -9 2 7 -8 -7 -5 2 -9 0 9 -7 7 -2 -6 7 -2 -1 7 -10 2 4 1 -1 0 10 3 -8 6 -6 2 6 7 -1 -4 -1 8 0 3 0 2 -2 2 -1 5 1 -9 -4 1 -9 1 -6 -5 3 -4 -7 1 -7 -3 -7 1
51 положительных, 42 отрицательных
// Внимание! Если программа не работает, обновите версию!
procedure Cheburek(s:string);
begin
var n:=ReadInteger('Количество строк в матрице:');
var m:=ReadInteger('Количество столбцов в массиве:');
Writeln('*** ',s,' матрица [',n,',',m,'] ***');
var a:=MatrRandom(n,m,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var s1:='сортированный вектор ср.значений нечетных столбцов';
Writeln(s1);
a.Cols.Select(x->x.Average).Where((x,i)->i.IsEven).Sorted.Println;
Writeln(s1.Length*'-');
end;
begin
Cheburek('первая');
Cheburek('вторая');
end.
Пример
Количество строк в матрице: 4
Количество столбцов в массиве: 8
*** первая матрица [4,8] ***
98 -64 -30 84 -6 11 4 7
-45 23 55 47 67 87 70 -64
40 20 91 -27 -12 42 -49 10
-59 -79 5 -77 -59 -44 -4 -10
сортированный вектор ср.значений нечетных столбцов
-2.5 5.25 8.5 30.25
Количество строк в матрице: 6
Количество столбцов в массиве: 11
*** вторая матрица [6,11] ***
-98 -40 -42 81 39 28 -3 -24 -33 79 13
22 26 -79 90 93 46 94 83 -1 -13 -18
-21 -44 85 60 43 -26 -94 -19 -34 99 -72
-35 46 8 30 88 -4 -87 -76 15 -94 9
-70 29 83 -79 -69 12 -24 -53 -27 96 -97
19 80 -98 96 79 84 -76 -29 85 14 14
сортированный вектор ср.значений нечетных столбцов
-31.6666666666667 -30.5 -25.1666666666667 -7.16666666666667 0.833333333333333 45.5