Домашние задания: Информатика
Информатика 9 класс
Считая, что массив из N элементов отсортирован по возрастанию, написать программу (на языке Pascal) , которая "быстро" отсортирует его по убыванию. Количество перестановок не должно быть больше чем N/2 +1.
Начнем с того, что массив у нас уже отсортирован по возрастанию.
"Быстрая" сортировка заключается в том, что (N/2) раз повторяется операция перестановки:
for var i := 1 to (N div 2) do
begin
temp := a[i]; a[i] := a[N - i + 1]; a[N - i + 1] := temp;
Col := Col + 1;
end;
в которой, собственно говоря , еще и считается количество Col перестановок в массиве.
Как всегда, у меня PascalABC:
const N = 14;
var Col, temp : integer;
begin
Col := 0;
var A : array [1 .. N] of integer = (4, 6, 7, 9, 11, 15, 21, 33, 34, 50, 55, 63, 77, 88);
WriteLn ( ' Исходный массив: ' );
for var i := 1 to N do Write (A[i]:5);
for var i := 1 to (N div 2) do
begin
temp := a[i]; a[i] := a[N - i + 1]; a[N - i + 1] := temp;
Col := Col + 1;
end; WriteLn;
Writeln ( ' Отсортированный массив:');
for var i := 1 to N do Write (A[i]:5); WriteLn;
WriteLn ( ' Количество элементов в массиве = ', N);
WriteLn ( ' Количество перестановок в массиве = ', Col);
end.
"Быстрая" сортировка заключается в том, что (N/2) раз повторяется операция перестановки:
for var i := 1 to (N div 2) do
begin
temp := a[i]; a[i] := a[N - i + 1]; a[N - i + 1] := temp;
Col := Col + 1;
end;
в которой, собственно говоря , еще и считается количество Col перестановок в массиве.
Как всегда, у меня PascalABC:
const N = 14;
var Col, temp : integer;
begin
Col := 0;
var A : array [1 .. N] of integer = (4, 6, 7, 9, 11, 15, 21, 33, 34, 50, 55, 63, 77, 88);
WriteLn ( ' Исходный массив: ' );
for var i := 1 to N do Write (A[i]:5);
for var i := 1 to (N div 2) do
begin
temp := a[i]; a[i] := a[N - i + 1]; a[N - i + 1] := temp;
Col := Col + 1;
end; WriteLn;
Writeln ( ' Отсортированный массив:');
for var i := 1 to N do Write (A[i]:5); WriteLn;
WriteLn ( ' Количество элементов в массиве = ', N);
WriteLn ( ' Количество перестановок в массиве = ', Col);
end.

Марат Курбанов
Спасибо ?
Вот пример программы на языке Pascal, которая сортирует массив по убыванию с помощью алгоритма сортировки пузырьком:
Количество перестановок в этой программе равно N/2, так как каждая перестановка меняет местами два элемента массива.
program sort_array;
const
N = 10;
var
a: array[1..N] of integer;
i, j, temp: integer;
begin
// Заполнение массива случайными числами
for i := 1 to N do
a[i] := random(100);
// Сортировка массива по убыванию
for i := 1 to N - 1 do
for j := 1 to N - i do
if a[j] < a[j + 1] then
begin
temp := a[j];
a[j] := a[j + 1];
a[j + 1] := temp;
end;
// Вывод отсортированного массива
for i := 1 to N do
write(a[i], ' ');
end.
Эта программа использует массив a из 10 элементов и заполняет его случайными числами с помощью функции random. Затем она сортирует массив по убыванию с помощью алгоритма сортировки пузырьком, который состоит из двух вложенных циклов for. Внешний цикл перебирает элементы массива от первого до предпоследнего, а внутренний цикл перебирает элементы массива от первого до последнего - i-го. Если текущий элемент меньше следующего, то они меняются местами. После завершения сортировки программа выводит отсортированный массив на экран. Количество перестановок в этой программе равно N/2, так как каждая перестановка меняет местами два элемента массива.
Анастасия ))))
Бот! Не верно же!!! Условие задачи совсем другое (ты не ту задачу решал) !!! :((((
" Считая, что массив из N элементов отсортирован по возрастанию, написать программу (на языке Pascal) , которая "быстро" отсортирует его по убыванию" - вот такое, Бот, условие задачи!!!
.
" Считая, что массив из N элементов отсортирован по возрастанию, написать программу (на языке Pascal) , которая "быстро" отсортирует его по убыванию" - вот такое, Бот, условие задачи!!!
.
Похожие вопросы
- Информатика 9 класс
- Задание по информатике. 9 Класс
- ПОМОГИТЕ С ИНФОРМАТИКОЙ 9 КЛАСС!
- Помогите пожалуйста!!! Очень срочно, информатика, 9 класс!!!
- Информатика 9 класс
- Информатика 9 класс. Нужно решение с объяснением
- Информатика 9 класс pascal(mod,div)
- Информатика, 9 класс
- Информатика 9 класс помогите пожалуйста!
- ИНФОРМАТИКА 9 КЛАСС ПОМОГИТЕ!