Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
31-01-2013_11-12-46 / задачник с заданиями.doc
Скачиваний:
70
Добавлен:
18.03.2015
Размер:
434.69 Кб
Скачать
      1. Сортировка массивов.

  1. а) Заданы два одномерных массива различным количеством элементов и натуральное число k. Объединить их в один массив, включив второй массив между k-м и (k+1)-м элементами первого, не используя дополнительный массив. б) Даны две последовательности a1≤ a2≤…≤ an и b1≤ b2≤ …≤bn. Образовать из них новую последовательность чисел так, чтобы она тоже была неубывающей. Дополнительный массив не использовать.

  2. Сортировка выбором. Дана последовательность чисел a1, a2, …, an. Требуется переставить элементы так, чтобы они были расположены по убыванию. Для этого в массиве, начиная с первого, выбирается наибольший элемент и ставится на первое место, а первый на место наибольшего. Затем, начиная со второго, эта процедура повторяется. Написать алгоритм сортировки выбором.

  3. Сортировка обменами. Дана последовательность чисел a1, a2, …, an. Требуется переставит числа в порядке возрастания. Для этого сравниваются два соседних числа ai и ai+1. Если ai>ai+1 то делается перестановка. Так продолжается до тех пор, пока все элементы не станут расположены в порядке возрастания. Составить алгоритм сортировки, подсчитывая при этом количество перестановок.

  4. Сортировка вставками. Дана последовательность чисел a1, a2, …, an. Требуется переставит числа в порядке возрастания. Делается это следующим образом. Пусть a1, a2, …, ai упорядоченная последовательность, т. е. a1≤ a2≤…≤ ai. Берется следующее число ai+1 и вставляется в последовательность так, чтобы новая последовательность была также возрастающей. Процесс производится до тех пор, пока все элементы от i+1 до n не будут перебраны.

  5. Сортировка Шелла. а) Дан массив n действительных чисел. Требуется упорядочить его по возрастанию. Делается это следующим образом: сравниваются два соседних элемента ai и ai+1. Если ai≤ ai+1, то продвигаются на один элемент вперед. Если ai>ai+1, то производится перестановка и сдвигаются на один элемент назад. Составить алгоритм этой сортировки. б) Пусть даны неубывающая последовательность действительных чисел a1≤ a2≤…≤ an и действительные числа b1≤ b2≤ …≤bn требуется указать те места, на которые нужно вставить элементы последовательности b1, b2, …, bn в первую последовательность так, чтобы новая последовательность оставалась возрастающей. в) Даны дроби (Pi, qi – натуральные). Составьте программу, которая приводит эти дроби к общему знаменателю и упорядочивает их в порядке возрастания.

  6. Алгоритм фон Неймана. Упорядочить массив a1, a2, …, an по возрастанию с помощью алгоритма сортировки слияниями: ► каждая пара соседних элементов сливается в одну группу из двух элементов (последняя группа может состоять из одного элемента); ► каждая пара соседних двухэлементных групп сливается в одну четырехэлементную группу и т. д. При каждом слиянии новая укрупненная группа упорядочивается.

  7. Создайте массив из пяти фамилий и выведите их на экран столбиком, начиная с последней.

  8. Создайте массив из пяти фамилий и выведите их на экран те из них, которые начинаются с определенной буквы, которая вводится с клавиатуры.

  9. Создайте массив А[1..7] с помощью генератора случайных чисел и выведите его на экран. Увеличьте все его элементы в 2 раза.

  10. Создайте массив А[1..8] с помощью генератора случайных чисел с элементами от –10 до 10 и выведите его на экран. Подсчитайте количество отрицательных элементов массива.

  11. Создайте массив А[1..12] с помощью генератора случайных чисел с элементами от –20 до 10 и выведите его на экран. Замените все отрицательные элементы массива числом 0.

  12. Создайте целочисленный массив А[1..15] с помощью генератора случайных чисел с элементами от –15 до 30 и выведите его на экран. Определите самый большой элемент массива и его индекс.

  13. С 8 до 20 часов температура воздуха измерялась ежечасно. Известно, что в течение этого времени температура понижалась. Определите, в котором часу была впервые отмечена отрицательная температура.

  14. Данные о температуре воздуха за декаду ноября хранятся в массиве. Определить, сколько раз температура опускалась ниже –10 градусов.

  15. Данные о температуре воды на Черноморском побережье за декаду сентября хранятся в массиве. Определить, сколько за это время было дней, пригодных для купания.

  16. Данные о температуре воздуха и количестве осадков за декаду апреля хранятся в массивах. Определить количество осадков, выпавших в виде дождя и в виде снега за эту декаду.

  17. Данные о температуре воздуха за декаду декабря хранятся в массиве. Определить, сколько раз температура была выше средней за эту декаду..

  18. Данные о направлении ветра (северный, южный, восточный, западный) и силе ветра за декаду ноября хранятся в массиве. Определить, сколько дней дул южный ветер с силой, превышающей 8 м/с.

  19. Дан линейный массив целых чисел. Проверьте, является ли он упорядоченным по убыванию.

  20. Найти произведение элементов массива целых чисел, которые кратны 7. Размерность массива – 15. Заполнение массива осуществить случайными числами от 10 до 50.

  21. Найти сумму элементов массива вещественных чисел, имеющих нечетные номера. Размерность массива – 20. Заполнение массива осуществить случайными числами от 100 до 200.

  22. Найти произведение всех элементов массива целых чисел, меньших 0. Размерность массива – 10. Заполнение массива осуществить с клавиатуры.

  23. Найти сумму всех элементов массива целых чисел, удовлетворяющих условию: остаток от деления на 3 равен 2. Размерность массива – 20. Заполнение массива осуществить случайными числами от 200 до 300.

  24. Найти сумму всех элементов массива вещественных чисел, больших заданного числа. Размерность массива – 20. Заполнение массива осуществить случайными числами от 50 до 100.

  25. Найти произведение всех элементов массива вещественных чисел, меньших заданного числа. Размерность массива –10. Заполнение массива осуществить случайными числами от 50 до 100.

  26. Найти произведение элементов массива, кратных 3 и 9. Размерность массива – 10. Заполнение массива осуществить случайными числами от 5 до 500.

  27. Найти сумму всех элементов массива целых чисел, которые меньше среднего арифметического элементов массива. Размерность массива –20. Заполнение массива осуществить случайными числами от 150 до 300.

  28. Найти сумму элементов массива целых чисел, которые делятся на 5 и на 8 одновременно. Размерность массива –30. Заполнение массива осуществить случайными числами от 500 до 1000.

  29. Найти произведение элементов линейного массива целых чисел, которые кратны 5. Размерность массива –10. Заполнение массива осуществить случайными числами от 10 до 100.

  30. Напишите программу анализа значений температуры больного за сутки: определите минимальное и максимальное значение, среднее арифметическое. Замеры температуры производятся шесть раз в сутки и результаты вводятся с клавиатуры в массив T.

  31. Линейный массив содержит сведения о количестве осадков, выпавших за каждый из 12 месяцев одного года. Составить программу, определяющую общее количество осадков за этот год, среднемесячное количество осадков, количество засушливых месяцев (когда количество осадков было меньше 30 мм), самый засушливый месяц года.

  32. Найти количество четных элементов одномерного массива.

  33. Найти количество четных элементов одномерного массива до первого встреченного числа равного наперед заданному числу а.

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

  35. Вычислить среднее арифметическое значение тех элементов одномерного массива, которые попадают в интервал от –2 до 10.

  36. Переменной t присвоить значение истина, если в одномерном массиве имеется хотя бы одно отрицательное и четное число.

  37. Вычислить сумму четных элементов одномерного массива до первого встреченного нулевого элемента.

  38. Переменной t присвоить значение истина, если максимальный элемент одномерного массива единственный и не превосходит наперед заданного числа а.

  39. В доме, состоящем из 30 квартир, переселить жильцов так, чтобы жильцы первой квартиры переехали в тридцатую, из тридцатой - в первую, из второй - в 29 и т.д., найдите количество квартир, в которых проживает более 5 человек.

  40. В одном районе расположен тридцать населенных пунктов. По территории проходит железная дорога. По просьбе жителей района планируется построить железнодорожную станцию и проложить дороги так, чтобы сумма расстояний от всех населенных пунктов до станции была минимальной, если участок дороги, проходящей по территории района прямолинеен. Результат представить графически.

  41. Если в одномерном массиве имеются три подряд идущих одинаковых элемента, то переменной r присвоить значение истина.

  42. Подсчитать количество элементов одномерного массива, для которых выполняется неравенство i*i<ai<i!

  43. Заданы два натуральных числа a и b. Переменной w присвоить значение истина, если в одномерном целочисленном массиве имеется хотя бы один элемент, кратный а и не кратный b.

  44. Подсчитайте количество элементов одномерного массива, которые совпадают со своим номером и при этом кратны 3.

  45. Дан одномерный массив а. Сформировать новый массив, который состоит только из тех элементов массива а, которые превосходят свой номер на 10. Если таких элементов нет, то выдать сообщение.

  46. Найти наибольший элемент из элементов одномерного массива, имеющих четный номер. Определить, является ли он единственным.

  47. Сожмите линейный массив, удалив элементы, предшествующие минимальному элементу.

  48. Задан массив А(1:20). Найти произведение всех его ненулевых элементов.

  49. В массиве X(1:n) каждый элемент равен 0, 1 или 5. Переставить элементы массива так, чтобы сначала располагались все нули, затем все единицы, а затем все пятерки. Дополнительного массива не заводить.

  50. Найдите в линейном массиве два элемента, сумма которых максимальна.

  51. Введите массив из 20 элементов и определите, есть ли в нем элементы с одинаковыми значениями.

  52. Сечение крыши имеет форму полукруга с радиусом R м. Сформировать таблицу, содержащую длины опор, устанавливаемых через каждые R/5 м.

  53. Задана таблица названий товаров, выпускаемых заводом. Определите, повторяется ли в этой таблице название первого товара, и, если повторяется, удалите название первого товара из таблицы.

  54. Задан список фамилий брокеров товарной биржи из N человек. Обменяйте местами фамилии брокеров: первого и последнего, второго и предпоследнего, третьего от начала и третьего от конца и т.д.

  55. Составьте программу, облегчающую работу секретаря вашей школы. Напишите программу, которая поиск номера телефона по введенной фамилии.

  56. Заданы две таблицы. Одна одержит наименование услуг, а другая – расценки за эти услуги. Удалите из обеих таблиц все, что предшествует услуге, цена которой P рублей.

  57. Даны список футбольных команд высшей лиги России и количество очков, набранных каждой командой в чемпионате России. Известно, что нет команд с равным числом очков, а две команды, набравшие наименьшее число очков, покинут высшую лигу. Какие это команды?

  58. Слейте две линейные таблицы A и B в новую таблицу C, поставив элементы таблицы A на нечетные места, а элементы таблицы B – на четные.

  59. В лотерее разыгрывалось 100 билетов. Таблица содержит 10 номеров выигрышных билетов. Проверьте, является ли билет с номером N выигрышным.

  60. В линейном массиве найти максимальный элемент. Вставьте порядковый номер элемента за ним, передвинув все оставшиеся на одну позицию вправо.

  61. Ведомость на зарплату представлена как две таблицы. Одна содержит фамилии работников цеха, а вторая – их зарплату за текущий месяц. Найдите фамилию работника, зарплата которого наименее отклоняется от средней зарплаты всех работников за текущий месяц. Найдите фамилии двух работников с наибольшей зарплатой. Удалите из ведомости на зарплату сведения о работнике, зарплата которого минимальна.

  62. Даны два линейных массива одинаковой размерности. Составить третий массив из произведений элементов первых двух массивов, стоящих на местах с одинаковым индексом.

  63. Дан целочисленный линейный массив из 10 элементов. Найдите наименьшее число K элементов, которое нужно исключить из последовательности A[1], A[2],…,A[10], чтобы осталась возрастающая последовательность.

  64. Дан одномерный массив целых чисел. Найдите, сколько раз в нем повторяется самое частое число.

  65. Дан одномерный массив из 10 целых чисел. Подсчитайте наибольшее число одинаковых идущих подряд в нем чисел.

  66. Составьте программу, проверяющую, можно ли, меняя элементы одномерного массива A, получить одномерный массив B.

  67. Задан массив А(1:m) попарно различных чисел. Напечатать все перестановки этих чисел.

  68. Заданы два линейных массива А[1..n] и В[1..m], причем m<n. Вывести на экран наименьшую подпоследовательность элементов массива А, содержащую все элементы массива В.