Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Zadania_LR11_Sort_massiv_11

.doc
Скачиваний:
18
Добавлен:
02.06.2015
Размер:
44.03 Кб
Скачать

Работа 10. Сортировка одномерных массивов

Цель работы: изучение основных приемов алгоритмизации и программирования задач сортировки массивов, тестирования и отладки таких программ.

Методические указания:

1. При удалении из массива К элементов размер массива уменьшается на К, при вставке в массив М элементов – размер массива увеличивается на М.

2. Циклы просмотра элементов массива можно задавать от начала массива или от конца. Следите за границами индексации элементов xi , i = 0, 1, … , n-1 .

3. Если выполнить сортировку массива без использования другого (рабочего) массива не удаётся, используйте рабочий массив.

Для всех задач дан массив Х размером N.

  1. Расположить в порядке возрастания элементы массива до первого нулевого элемента.

  2. В массиве целых чисел переставить в конец элементы, кратные заданному числу.

  3. Из массива удалить положительные элементы, следующие после минимального элемента.

  4. Удалить из массива смежные повторяющиеся элементы, оставив только один из каждой группы.*

  5. Переставить в начало массива первые К «+»-ых элементов.

  6. Найти сумму S первой группы смежных равных элементов (группа – два или более элементов) и вставить S в массив после правого элемента этой группы.

  7. Все числа в массиве, равные максимальному числу, переставить после первого максимального.

  8. Удалить из массива последние К положительных элементов.

  9. Сформировать другой массив из «-»-х элементов исходного массива и расположить их в порядке возрастания, (усложнение: из исходного массива «-»-е элементы удалить). ~

  10. Сформировать другой массив из «+»-х элементов исходного массива, которые располагаются после «-»-го элемента, и расположить их в порядке убывания. ~

  11. Нулевые элементы переставить в начало массива. Усложнение: остальные расположить в порядке возрастания. *

  12. Из массива удалить самую длинную группу смежных «+»-ых чисел. **

  13. Все «+»-е числа в массиве переставить перед последним «+»-ым числом.

  14. Сформировать другой массив из «+»-х элементов исходного массива, располагающихся после минимального элемента. ~

  15. Сформировать другой массив Y из «–»-х элементов исходного массива X и переставить минимальный элемент массива Y на первое место, не нарушая порядок остальных элементов. ~

  16. Расположить в порядке возрастания элементы массива до К-го отрицательного элемента. ~

  17. Последнюю группу (2 или более элемента) положительных элементов заменить их суммой.

  18. Отрицательные элементы переставить в конец массива и расположить их в порядке возрастания.

  19. Из массива удалить все элементы, равные минимальному элементу в массиве.

  20. Удалить из массива «-»-е элементы с четными индексами в исходном массиве.

  21. Удалить из массива элементы, кратные заданному числу.

  22. Расположить в порядке возрастания М элементов массива после К-го элемента, М и К заданы.

  23. Сформировать другой массив из элементов исходного массива, величины которых находятся в заданных пределах от А до В, и вставить в середину полученного массива среднее значение элементов этого массива.

  24. Удалить из массива первую двойку смежных чисел, произведение которых равно К-му числу, К задается.

  25. Из массива удалить тройку элементов xi-k , xi и xi+k , k задается.

  26. Поменять местами отрицательные элементы массива с положительными. Замену остановить, если «+»-е или «–»-е элементы закончатся. Оставшиеся элементы свое место не изменяют. *

  27. Расположить элементы первой половины массива в порядке возрастания, а второй половины массива в порядке убывания.

  28. Из массива удалить пару элементов xi и xi+k c максимальным произведением, k задается. * (Проще: первую такую пару).

  29. Удалить из массива элементы, следующие по убыванию от максимального элемента. * Пример: из массива 2 1 3 8 5 6 4 5 2 0, 5 4 2 0 – удалить!

  30. Первую цепочку «+»-ых чисел переставить в конец массива (цепочка – два и более числа). *

  31. Сформировать другой массив из «–»-х элементов исходного массива и удалить из полученного массива М-ый элемент, М задается.

  32. Удалить из массива каждый элемент xi, располагающийся перед двумя «+»-ми элементами в массиве, тройки чисел “xi «+»«+»” не пересекаются.

  33. Удалить из исходного массива первую цепочку чередующихся по знаку элементов (более 2-х элементов) и записать их в другой массив.

  34. Последнюю группу (2 и более элемента) отрицательных элементов массива заменить их суммой.

  35. Расположить в порядке возрастания первую группу смежных отрицательных элементов массива.

  36. Удалить из массива элементы, соседние с первым минимальным элементом.

  37. Переставить первую тройку «-»-ых элементов массива после максимального элемента массива.

  38. Расположить элементы массива целых чисел в порядке чередования четный/нечетный. *

  39. Первую группу положительных элементов заменить средним значением.

  40. Удалить из массива « – »-элементы, располагающиеся между первым и вторым «+»-ми элементами.

  41. Сформировать массив Y из элементов, следующих по возрастанию относительно первого элемента: в массиве Y элементы расположатся по возрастанию. ~

  42. Сформировать массив из смежных элементов, разность между которыми больше числа А. ~

  43. Первые М элементов поставить после максимального элемента хmax, если хmax не попадает в первые М элементов. *

  44. Переставить в начало массива элементы, которые меньше заданного числа В. ~

  45. Удалить элемент, предшествующий максимальному элементу. ~

  46. Удалить первый «–»-й элемент после первого «+»-го элемента.

  47. Удалить К 0-ых элементов. ~

  48. Первую группу смежных положительных элементов заменить их средним значением, размер массива уменьшится за счет сдвига оставшихся элементов.

  49. Переставить первую пару смежных «+»-ых элементов в начало массива.

  50. Удалить из массива первую цепочку смежных «–»-ых элементов.

  51. Отрицательные элементы переставить в конец массива.

  52. Отрицательные элементы удалить из исходного массива и перенести их в другой массив.

  53. Все «+»-е элементы с двумя смежными «–»-ми элементами поменять местами с левым смежным элементом своей тройки. ~

  54. Из массива удалить все элементы, равные минимальному элементу в массиве.

  55. Переставить первые К элементов в конец массива.

  56. Добавить в середину массива сумму «+»-ых элементов . ~

  57. Удалить первые К положительных элементов массива. ~

  58. Удалить первую тройку смежных элементов с максимальной суммой.

  59. Последние М положительных элементов массива расположить в порядке убывания. Позиции «+»-х элементов в массиве сохраняются по отношению к позициям «–»-х элементов. **

  60. Удалить из массива элементы, величины которых находятся в заданных пределах (А, В).

  61. Сформировать массив Y из элементов, следующих по возрастанию от мини-мального элемента: в массиве Y элементы расположатся по возрастанию. ~

  62. Переставить в начало массива элементы, кратные заданному числу М.

  63. Нулевые элементы переставить в конец массива.

  64. Элементы первой половины массива упорядочить по убыванию. Усложнение: если первые К чисел упорядочены по убыванию.

  65. В массиве поменять местами первую группу «–»-ых чисел и последнюю группу «+»-ых чисел. Группа состоит из 2-х и более чисел с граничными числами другого знака. **

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