Напишите программу, которая выполняет неполную сортировку массива: ставит в начало
массива три самых меньших по величине элемента в порядке возрастания (неубывания).
Положение остальных элементов не важно.
2) Напишите программу, которая сравнивает число перестановок элементов при использовании сортировки «пузырьком», методом выбора и алгоритма быстрой сортировки. Проверьте ее на разных массивах, содержащих 1000 случайных элементов, вычислите среднее число перестановок для каждого метода.
3)Попробуйте построить массив из 10 элементов, на котором алгоритм быстрой сортировки показывает худшую эффективность (наибольшее число перестановок). Сравните это количество перестановок с эффективностью метода пузырька (для того же массива)
В 1 надо только одним сортировки и не используя быструю сортировку.
В 2 и 3 надо, чтобы были использованы несколько сортировки, включая быструю сортировку.
//PascalABC.NET (версия 3.1, сборка 1198 от 11.03.2016) var a,n,k,i,j,s:integer; begin writeln('Количество учеников и количество оценок'); readln(n,k); for i:=1 to n do begin for j:=1 to k do begin write('Ученик № ',i, ' оценка № ',j,' = '); readln(a); s:=s+a; end; end; println('Средняя оценка группы ',s/(n*k):6:3); end.
Напишите программу, которая выполняет неполную сортировку массива: ставит в начало
массива три самых меньших по величине элемента в порядке возрастания (неубывания).
Положение остальных элементов не важно.
2) Напишите программу, которая сравнивает число перестановок элементов при использовании сортировки «пузырьком», методом выбора и алгоритма быстрой сортировки. Проверьте ее на разных массивах, содержащих 1000 случайных элементов, вычислите среднее число перестановок для каждого метода.
3)Попробуйте построить массив из 10 элементов, на котором алгоритм быстрой сортировки показывает худшую эффективность (наибольшее число перестановок). Сравните это количество перестановок с эффективностью метода пузырька (для того же массива)
В 1 надо только одним сортировки и не используя быструю сортировку.
В 2 и 3 надо, чтобы были использованы несколько сортировки, включая быструю сортировку.
Объяснение:
ну вроде так
var a,n,k,i,j,s:integer;
begin
writeln('Количество учеников и количество оценок');
readln(n,k);
for i:=1 to n do begin
for j:=1 to k do begin
write('Ученик № ',i, ' оценка № ',j,' = ');
readln(a);
s:=s+a;
end;
end;
println('Средняя оценка группы ',s/(n*k):6:3);
end.
Тестовое решение:
Количество учеников и количество оценок
3 3
Ученик № 1 оценка № 1 = 3
Ученик № 1 оценка № 2 = 4
Ученик № 1 оценка № 3 = 4
Ученик № 2 оценка № 1 = 5
Ученик № 2 оценка № 2 = 4
Ученик № 2 оценка № 3 = 4
Ученик № 3 оценка № 1 = 4
Ученик № 3 оценка № 2 = 3
Ученик № 3 оценка № 3 = 3
Средняя оценка группы 3.778