Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТPascal Сборник конспектов.doc
Скачиваний:
24
Добавлен:
10.11.2018
Размер:
924.67 Кб
Скачать

31. Решение задач на сортировку.

Задача 1. Заполнить одномерный массив из 10 элементов целыми случайными числами в пределах от -10 до 10. Выполнить сортировку элементов массива по возрастанию.

За основу берем программу OM_Rnd

В области программы, предназначенной для решения основной задачи, вводим следующий код:

For k:=1 To n-1 Do For i:=1 To n-k Do

If a[i]>a[i+1] Then Begin p:=a[i]; a[i]:=a[i+1]; a[i+1]:=p; End

WriteLn(‘Отсортированный массив:’);

For i:=1 To n Do Write(a[i]:4);WriteLn;

При этом следует не забыть объявить переменные k и p целого типа, сделать n равным 10 и изменить формулу генератора случайных чисел на Random(21)-10.

В итоге получим следующую программу:

Program Sort;

Const n=10;

Var a: Array[1..n] of Integer;

i: Integer;

k,p: Integer;

Begin

WriteLn(‘Массив случайных чисел:’);

Randomize;

For i:=1 To n Do Begin

a[i]:=Random(21)-10;

Write(a[i]:4); End;

WriteLn;

For k:=1 To n-1 Do For i:=1 To n-k Do

If a[i]>a[i+1] Then Begin p:=a[i]; a[i]:=a[i+1]; a[i+1]:=p; End

WriteLn(‘Отсортированный массив:’);

For i:=1 To n Do Write(a[i]:4);WriteLn;

ReadLn;

End.

Задача 2. Заполнить одномерный массив из 8 элементов целыми случайными числами в пределах от 0 до 10. Выполнить сортировку элементов массива по убыванию.

Задача 3. Заполнить одномерный массив из 20 элементов целыми случайными числами в пределах от -10 до 10. Выполнить сортировку первых 10-ти элементов массива по возрастанию, а вторых 10-ти по убыванию.

За основу берем программу из задачи №1.

Изменяем фрагмент сортировки:

For k:=1 To 9 Do For i:=1 To 10-k Do

If a[i]>a[i+1] Then Begin p:=a[i]; a[i]:=a[i+1]; a[i+1]:=p; End

For k:=1 To 9 Do For i:=11 To n-k Do

If a[i]<a[i+1] Then Begin p:=a[i]; a[i]:=a[i+1]; a[i+1]:=p; End

WriteLn(‘Отсортированный массив:’);

For i:=1 To n Do Write(a[i]:4);WriteLn;

Задача 4. Заполнить одномерный массив из 10 элементов целыми случайными числами в пределах от -5 до 5. Выполнить сортировку первых 5-ти элементов массива по убыванию, а вторых 5-ти по возрастанию.

Задача 5. Заполнить одномерный массив из 10 элементов целыми случайными числами в пределах от -2 до 2. Выполнить сортировку по возрастанию. Найти наибольший элемент и их количество.

За основу берем программу из задачи №1.

Изменяем фрагмент сортировки:

For k:=1 To n-1 Do For i:=1 To n-k Do

If a[i]>a[i+1] Then Begin p:=a[i]; a[i]:=a[i+1]; a[i+1]:=p; End

For i:=1 To n Do Write(a[i]:4);WriteLn;

Max:=a[n];

Kol:=0;

For i:= To n Do If a[i]=Max Then Kol:=Kol+1;

WriteLn(‘Kol=’,Kol);

Нужно не забыть объявить переменные Max и Kol

Задача 6. Заполнить одномерный массив из 10 элементов целыми случайными числами в пределах от -2 до 2. Выполнить сортировку по возрастанию. Найти наименьший элемент и их количество.

Задача 7. Заполнить одномерный массив из 10 элементов целыми случайными числами в пределах от -2 до 2. Выполнить сортировку по убыванию. Найти наименьший элемент и их количество.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]