Пример программы с использованием сортировки обменом
Элементы массива переставить таким образом, чтобы их значения были расположены в убывающем порядке. Program sortwhile {input,output}; Const n=10; Var i: integer; u: real; a: boolean; x: array [1..n] of real; Begin {*read array X*} For i:=1 to n do Read {X[i]}; A:=false; While not a do Begin a:=true; For i:=1 to n-1 do If X[i]<X[i+1] Then Begin u:=X[i]; X[i]:=X[i+1]; X[i]:=u; a:=false; End; End {*while*}; {*Write array X*} For i:=1 to n do Write {X[i]}; Writeln End. В данной программе используется сортировка перестановками. Основной цикл прекращает выполняться, когда значение логической переменной А становится равным TRUE. Варианты заданий: 1. Дан целочисленный массив x размера n(n=10). Упорядочить по убыванию элементы массива, заключённые между минимальным и максимальным. Указание: проверить массив на наличие элементов между ними. 2. Дана целочисленная последовательность . Получить упорядоченную по возрастанию последовательность из чисел, которые входят в данную последовательность по одному разу. 3. Дан вещественный массив x размера n(n=10). Удалить из него элементы, кратные двум (если такие имеются) и расположить элементы массива по возрастанию. 4. Переписать положительные элементы массива x, до последнего вхождения максимального элемента, в массив y, упорядоченными по неубыванию и подсчитать их количество. Указание: проверить массив x на наличие в нём положительных элементов. 5. Из двух отсортированных в убывающем порядке массивов получить новый массив, отсортированный в том же порядке. 6. Дан массив x вещественных чисел. Получить упорядоченый по невозрастанию массив, состоящий из чисел данного массива, находящихся между предпоследним и последним отрицательным членом. Указание:проверить массив на наличие элементов между ними. 7. Даны две последовательности. Получить упорядоченную по невозрастанию последовательность, состоящую из тех членов первой последовательности, которых нет во второй.
8. Дан целочисленный массив x размера n. Упорядочить по невозрастанию те элементы массива, которые не находятся между минимальным и максимальным(если такие имеются). 9. Если число а встречается в массиве вещественных чисел x размера n(n=10), то упорядочить по неубыванию часть массива до последнего вхождения а, в противном случае упорядочить по невозрастанию часть массива между первым и пятым элементами. 10. Дан массив x размера n(n=10) целых чисел, содержащий как положительные, так и отрицательные элементы. Упорядочить массив следующим образом: сначала идут отрицательные числа, упорядоченные по невозрастанию, потом положительные, упорядоченные по неубыванию. 11. Дан массив x целых чисел. Упорядочить элементы, стоящие на четных местах по невозрастанию, а на нечетных – по неубыванию. 12. Дан массив x целых чисел, содержащий как положительные, так и отрицательные элементы. Исключить все положительные элементы, встречающиеся в массиве более одного раза, затем отрицательные упорядочить по убыванию. 13. Дан массивцелых чисел. Получить упорядоченный по невозрастанию массив, состоящий из членов данного массива, заключенных между первым и последним положительным элементом данного массива. Указание: проверить массив на наличие элементов между ними. 14. Дан массив целых чисел размера n(n=10). Получить упорядоченный по возрастанию массив, содержащий все различные числа данного массива. 15. Дан массив x целых чисел. Получить упорядоченную по возрастанию последовательность из чисел, которые встречаются в данном массиве более двух раз(если такие имеются). 16. Даны два целочисленных массива. Выяснить, является ли один из них подмножеством другого. Если является, то упорядочить это подмножество по убыванию.
17. Переписать отрицательные элементы массива x, заключённые между минимальным и максимальным элементами, в массив y, упорядоченными по убыванию и подсчитать их количество. Указание: проверить массив x на наличие в нём отрицательных элементов. 18. Даны два упорядоченных по убыванию массива, получить упорядоченную по возрастанию массив, состоящий из элементов первого массива, которых нет во втором. 19. Дан массив x целых чисел. Вывести в порядке возрастания все числа, стоящие на четных местах и встречающиеся более двух раз. 20. Дан действительный массив x размера n(n=10). Расположить элементы массива по убыванию. Использовать сортировку обменом. 21. Дан целочисленный массив x, упорядоченный по неубыванию и некоторое целое число а, для которого нужно найти такое место среди элементов массива, чтобы после вставки числа а на это место упорядоченность не нарушилась. 22. Дан вещественный массив x размера n(n=10). Переставить элементы массива таким образом, чтобы вначале в массиве шла группа элементов больших первого элемента в исходном массиве, потом - группа элементов меньших или равных ему. 23. Дан целочисленный массив x размера n(n=10), упорядоченный по неубыванию. Найти среднее арифметическое элементов массива и вставить его в массив так, чтобы не нарушилась упорядоченность. 24. Дан массив x целых чисел. Исключить из него все числа, встречающиеся более двух раз(если такие имеются). Затем числа, стоящие на четных местах, упорядочить по невозрастанию. 25. Дан массив x, состоящий из латинских букв. Вывести его так, чтобы его элементы следовали в алфавитном порядке в массиве a, а в массив b все повторящиеся элементы. 26. Дан массив натуральных чисел x размера n(n=10) и некоторое натуральное число k. Удалить из массива элемент с номером k и вставить элемент, равный р, так, чтобы не нарушилась упорядоченность. 27. Дан массив x, состоящий из латинских букв. Исключить из него элементы, стоящие на чётных местах, затем элементы стоящие на нечётных местах упорядочить по неубыванию. 28. Даны два действительных массива x и y. Объединить их так, чтобы в массиве-результате элементы были упорядочены по возрастанию. 29. Дан целочисленный массив x. Определить, сколько в нем пар соседних одинаковых элементов. Вывести пары соседних одинаковых элементов в массив y, упорядоченными по неубыванию.
30. Дан массив символов. Исключить из него элементы, являющиеся символами латинских букв, стоящие на чётных местах. Затем элементы стоящие на нечётных местах упорядочить по невозрастанию. Контрольные вопросы 1. Понятие массива. Какие ограничения на использование массивов в языке Паскаль Вам известны? 2. Как описать массив в программе? Что определяет для массива базовый тип и тип индекса? 3. Как осуществляется ввод, вывод и формирования элементов массивов? 4. Какие действия определены над массивами как едиными объектами? 5. Назовите известные вам способы сортировки одномерных массивов. В чем суть каждого из этих способов? 6. Какими способами может быть осуществлен поиск элемента в упорядоченном и неупорядоченном одномерном массиве? ЛАБОРАТОРНАЯ РАБОТА №6 Цель работы: получить навыки работы с процедурами расширить практический опыт работы при использование массивов.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|