Что не так с программами? Пытаюсь исправить и все равно ничерта не работает, потерялся в структуре программы. Задачи нужно написать по блок-схемам исправить неправильный код. программа по сортировке простым выбором: program sort;
const N = 10;
var a: array[1..N] of integer; i, j, min, k, c: integer;
begin write('Введите элементы массива: '); readln(a); for i :=1 to N - 1 do begin k:=1; min:=a[i]; for j:= i+1 to N do if a[j] < min then begin min := a[j]; c:=a[k]; a[k]:=a[i]; end; end; write(min, ' '); end.
Сортировка простым обменом: program sort2;
const N = 10;
var a: array[1..N] of real; i, j, b: integer;
begin writeln('Введите элементы: '); readln(a); for i := 2 to N do begin for j := N to i - 1 do if a[j] < a[j - 1] then begin b := a[j]; a[i] := a[i - 1] end; end; for i:=1 to N do writeln(a[i], ' '); end.
Для данной сортировки используем алгоритм сортировки слиянием
В начале разбиваем арбузы на 2 группы по 2Каждую группу взвешиваем и сортируем (т.е. всего 2 взвешивания)Теперь собираем вместе, сравниваем сначала более легкие арбузы и находим самый легкий (всего 3 взвешивания)Теперь сравниваем тяжелый арбуз, что в группе с самым легким и более легкий из другой группы, и определяем второй по легкости (всего 4 взвешивания)Потом взвешиваем оставшиеся арбузы и докладываем их по порядку (всего 5 взвешивания)
Для того, чтобы перевести целое число из десятичной в двоичную систему счисления, необходимо разделить его на два, а затем делить на два каждое полученное частное до тех пор, пока не получится единица. Искомое двоичное число записывается как последовательность цифр, равных последнему частному (единице) и всем полученным остаткам, начиная с последнего.
Надо перевести сначала 21 в двоичную, потом 2 в двоичную и потом 2002 в двоичную
Получается вот так: 21 = 10101 2=10 2002 = 11111010010
Для данной сортировки используем алгоритм сортировки слиянием
В начале разбиваем арбузы на 2 группы по 2Каждую группу взвешиваем и сортируем (т.е. всего 2 взвешивания)Теперь собираем вместе, сравниваем сначала более легкие арбузы и находим самый легкий (всего 3 взвешивания)Теперь сравниваем тяжелый арбуз, что в группе с самым легким и более легкий из другой группы, и определяем второй по легкости (всего 4 взвешивания)Потом взвешиваем оставшиеся арбузы и докладываем их по порядку (всего 5 взвешивания)Надо перевести сначала 21 в двоичную, потом 2 в двоичную и потом 2002 в двоичную
Получается вот так:
21 = 10101
2=10
2002 = 11111010010
В итоге:
10101.10.11111010010