Напишите программу, которая выполняет неполную сортировку массива: ставит в начало
массива три самых меньших по величине элемента в порядке возрастания (неубывания).
Положение остальных элементов не важно.
2) Напишите программу, которая сравнивает число перестановок элементов при использовании сортировки «пузырьком», методом выбора и алгоритма быстрой сортировки. Проверьте ее на разных массивах, содержащих 1000 случайных элементов, вычислите среднее число перестановок для каждого метода.
3)Попробуйте построить массив из 10 элементов, на котором алгоритм быстрой сортировки показывает худшую эффективность (наибольшее число перестановок). Сравните это количество перестановок с эффективностью метода пузырька (для того же массива)
В 1 надо только одним сортировки и не используя быструю сортировку.
В 2 и 3 надо, чтобы были использованы несколько сортировки, включая быструю сортировку.
Объяснение:
ну вроде так
1) ответ:
2^i=n
2^i=32
i=5
один символ=5 бит
2) 64=2⁶
следовательно ,требуется 6-разрядный двоичный код
3) 2^i=n, n = 16
2^i=16
i=4 бит
50 * 4 = 200 бит
200: 8 = 25 байт
4) используем формулу 2^i=n. так как в алфавите 16 символов (n=16), то 2^i=16, следовательно i=4. 4 бита весит один символ. 384*4=1536. 1536 бит весит сообщение из 384 символов по 4 бита каждый. переводим биты в байты. 1 байт=8 бит, 1536/8=192 байта. переводим байты в килобайты. 1 килобайт=1024 байт. 192/1024=0,1875 килобайт весит все сообщение. так что лучше ответ оставить в байтах (192 байта).
program Temperatura;
const n=30;
type Mas = array [1..n] of integer;
var A: Mas;
i, Max, MaxInd, Min, MinInd: integer;
begin
for i:=1 to n do
A[i]:=-20+random(40); {Заполняем массив случайными числами}
{
А СЮДА ВСТАВЛЯЕМ ПО ОЧЕРЕДИ БЛОКИ
}
ReadLn;
end.
{БЛОК:: Дни с нулевой}
for i:=1 to n do
if A[i] =0 tnen WriteLn(' Day Number ' ,i
);
{БЛОК: Дни с MaxTemp и MinTemp}
Max:=A[1];
Min:=A[1];
MaxInd:=1;
MinInd:=1;
for i:=2 to n do
begin
if A[i]>Max then begin
Max:=A[i]; MaxInd:=i
end;
if A[i]<Min then begin
Min:=A[i]; MinInd:=i;
end;
end;
WriteLn('Max=', Max, ' MaxInd=' , MaxInd);
WriteLn('Min=', Min, ' MinInd=' , MinInd);
ReadLn;
end.
{Ну а последний БЛОК (о днях с одинаковой температурой) попробуй написать САМ}