Задание 1. Алгоритмы поиска
1. В массиве целых чисел 25 элементов. Найти величину и индекс последнего максимального элемента среди элементов с равными значениями.
2. В массиве вещественных чисел, состоящем из 30 элементов, найти максимальный и минимальный элементы и поменять их местами.
3. Задан список 40 участников в лыжных гонках и их результаты. Напечатать фамилию и результат чемпиона. Задача сводится к определению минимального элемента массива результатов и его индекса, и вывода на печать элемента массива фамилий с этим индексом.
4. Даны два массива A и B, состоящие из 10 и 20 элементов соответственно. Найти в каждом массиве максимальный элемент и его индекс. Поиск максимального элемента оформить в виде подпрограммы. Массивы выводить в два параллельных столбца.
5. Даны два массива A и B, состоящие из 16 и 26 элементов соответственно. Найти в каждом массиве минимальный элемент и его индекс. Поиск минимального элемента оформить в виде подпрограммы. Массивы выводить в два параллельных столбца.
6. В массиве вещественных чисел 30 элементов. Найти значение максимального из элементов массива, которые имеют нечетные
номера.
7. В массиве вещественных чисел 20 элементов. Найти значение максимального из элементов массива, которые имеют четные номера.
8. В массиве 25 элементов. Определить количество элементов, расположенных между минимальным и максимальным элементами.
9. В массиве 50 элементов. Определить диапазон значений элементов массива (разность между максимальным и минимальным элементами).
10. В массиве 30 элементов целого типа. Найти и напечатать максимальный среди последних 10 элементов и его индекс.
11. В массиве целых чисел 35 элементов. Найти величину и индекс максимального по модулю элемента.
12. Матрица A состоит из 6 строк и 7 столбцов. Сформировать массив, k-тый элемент которого равен минимальному из элементов k-го столбца. Поиск минимального элемента оформить в виде подпрограммы.
13. Матрица A состоит из 6 строк и 7 столбцов. Сформировать массив, k-тый элемент которого равен минимальному значению из элементов k-ой строки. Поиск минимального элемента оформить в виде подпрограммы.
14. Матрица A состоит из 5 строк и 8 столбцов. Сформировать массив, k-тый элемент которого равен максимальному из элементов k-го столбца. Поиск максимального элемента оформить в виде подпрограммы.
15. Матрица A состоит из 8 строк и 8 столбцов. Переставить строку, в которой находится минимальный элемент главной диагонали со строкой с заданным номером k. Значение k вводить с экрана дисплея. Если значение k совпадает с номером строки, в которой расположен минимальный элемент на главной диагонали, то выдать сообщение, что строки переставлять не следует.
16. Матрица A состоит из 6 строк и 5 столбцов. Найти значение максимального элемента. Определить номер строки и столбца, на пересечении которых он расположен.
17. Матрица A состоит из 7 строк и 8 столбцов. Найти значение максимального по модулю элемента. Определить номер строки и
столбца, на пересечении которых он расположен.
18. Матрица A состоит из 8 строк и 10 столбцов. Найти минимальный элемент и записать на его место ноль.
19. Матрица A состоит из 8 строк и 10 столбцов. Найти минимальный элемент и удалить строку и столбец, на пересечении которых он находится.
20. Матрица A состоит из 7 строк и 9 столбцов. Найти максимальный элемент и удалить строку и столбец, на пересечении которых он находится.
21. Матрица A состоит из 7 строк и 9 столбцов. Найти максимальный элемент и подсчитать сумму элементов строки, в которой он находится.
22. Матрица A состоит из 4 строк и 8 столбцов. Найти максимальный элемент и подсчитать сумму элементов столбца, в котором он находится.
23. Матрица A состоит из 7 строк и 8 столбцов. Найти максимальный элемент и подсчитать произведение элементов строки, в которой он находится.
24. Матрица A состоит из 4 строк и 8 столбцов. Найти максимальный элемент и подсчитать произведение элементов столбца, в котором он находится.
25. Матрица A состоит из 7 строк и 9 столбцов. Найти максимальный элемент и обнулить строку и столбец, на пересечении которых он находится.
26. Матрица A состоит из 7 строк и 9 столбцов. Найти максимальный по модулю элемент и поменять его местами с элементом A[1, 1].
27. Матрица A состоит из 7 строк и 9 столбцов. Найти максимальный и минимальный элементы и поменять их местами.
28. Матрица A состоит из 6 строк и 8 столбцов. Заменить каждый из элементов A[ i, j ] на
A[ i, j ] – Smax–min, где S – среднее арифметическое из всех элементов матрицы, max – максимальный элемент, min – минимальный элемент матрицы.
29. Матрица A состоит из 7 строк и 9 столбцов. Найти значение максимального по модулю элемента и разделить на него каждый
элемент матрицы.
30. Даны два массива A и B, состоящие из 10 и 20 элементов соответственно. Найти в каждом массиве максимальный элемент и его индекс. Поменять местами максимальный элемент массива A с максимальным элементом из массива B. Поиск максимального
элемента оформить в виде подпрограммы. Массивы выводить в два параллельных столбца.
Задание 2. Алгоритмы поиска
1. Ртутные термометры могут быть использованы для измерения температуры до –39,4°С. Используйте информацию о минимальной температуре, зафиксированной в каждом году за последние 40 лет в городе Ангарске, определить, можно ли использовать ртутные термометры в этом городе. Задача сводится к тому, есть ли в массиве минимальных температур
хотя бы один элемент, меньший или равный –39,4.
2. Результаты переписи населения заданы в виде массива фамилий и массива года рождения. Напечатать фамилии и подсчитать общее число жителей, родившихся раньше 1937 года.
3. Результаты соревнований по марафону представлены массивами фамилий и результатов. В марафоне участвовало 30 человек.
Определить общее количество спортсменов, выполнивших нормативы мастеров спорта на дистанции 42 километра и
напечатать их фамилии. Задача сводится к определению того, сколько раз в неупорядоченном массиве результатов встречалось время, меньшее или равное норме мастера спорта на данной дистанции.
4. Результаты сдачи экзамена по вычислительной технике представлены в виде массива фамилий 25 студентов и
соответствующего ему массива результатов. Напечатать фамилии студентов, не сдавших экзамен.
5. В символьном массиве латинских слов, состоящем из 25 элементов, организовать линейный поиск с “барьером” и найти
индекс элемента, равному заданному слову. Если такой элемент отсутствует, выдать соответствующее сообщение.
6. В массиве целых чисел, состоящим из 30 элементов, организовать линейный поиск с “барьером” и найти индекс элемента, равному заданному значению. Если такой элемент отсутствует, выдать соответствующее сообщение.
7. Результаты соревнования по прыжкам в длину представлены списком фамилий и массивом результатов 25 участников,
упорядоченным в порядке занятых мест. Бинарным поиском определить фамилию спортсмена, прыгнувшего на 6 метров.
8. В упорядоченном символьном массиве латинских слов, состоящем из 25 элементов, организовать бинарный поиск и найти индекс элемента, равного заданному слову. Если такой элемент отсутствует, выдать соответствующее сообщение.
9. Результаты сдачи экзамена по вычислительной технике представлены в виде массива фамилий 25 студентов и
соответствующего ему массива результатов. Напечатать фамилии студентов, сдавших экзамен на “отлично”.
10. Результаты сдачи сессии по четырем экзаменам представлены в виде массива фамилий 25 студентов и соответствующего ему
матрицы результатов. Напечатать фамилии студентов, сдавших экзамен на “отлично”.
11. Результаты сдачи сессии по четырем экзаменам представлены в виде массива фамилий 30 студентов и соответствующего ему
матрицы результатов. Напечатать фамилии студентов, сдавших экзамен на “хорошо” и “отлично”.
12. Результаты сдачи сессии по пяти экзаменам представлены в виде массива фамилий 30 студентов и соответствующего ему матрицы результатов. Напечатать фамилии студентов, имеющих хотя бы одну неудовлетворительную оценку.
13. Результаты сдачи сессии по пяти экзаменам представлены в виде массива фамилий 25 студентов и соответствующего ему матрицы результатов. Подсчитать средний балл по каждому экзамену.
14. Дан массив, состоящий из 50 элементов. Определить сколько в нем элементов, отличающихся от последнего элемента.
15. Из массива B, состоящего из 40 элементов целого типа, удалить элементы, значения которых равно поисковой переменной P.
Напечатать полученный массив.
16. Из массива B, состоящего из 30 элементов целого типа, удалить элементы, значения которых кратно трем. Напечатать полученный массив.
17. Из массива B, состоящего из 50 элементов целого типа, удалить элементы, значения которых кратно пяти. Напечатать полученный массив.
18. Сформировать массив C из элементов массива B, состоящего из 50 элементов целого типа. В массив C включать элементы массива B, кратные семи и некратные двум одновременно. Напечатать полученный массив.
19. Информация о среднесуточной температуре воздуха за месяц задана в виде массива. Определить, температура скольких дней
была ниже среднемесячной.
20. Информация о температуре воздуха за месяц задана в виде массива. Определить, сколько раз температура опускалась ниже
0°С.
21. Рост учеников класса представлен в виде массива. Рост девочек кодируется знаком “+”, рост мальчиков кодируется знаком “–”. Определить средний рост мальчиков.
22. Рост учеников класса представлен в виде массива. Рост девочек кодируется знаком “+”, рост мальчиков кодируется знаком “–”. Определить средний рост девочек.
23. Массив B включает 10 целых чисел из интервала [1, 10], полученных с помощью датчика случайных чисел (RND). Определить, сколько раз встречалось число 6.
24. Массив B включает 20 целых чисел из интервала [1, 15], полученных с помощью датчика случайных чисел (RND).
Определить, сколько раз встречалось число, большее 10.
25. Сравнить блок-схему и программу определения задуманного человеком числа от 1 до 1000 с помощью 10 вопросов. Каждый
вопрос имеет вид: “Верно ли, что задуманное число больше k?”. При этом указывается конкретное число k. Ответы человека Y или N. Применить идею метода деления пополам.
26. Массив B включает 30 целых чисел из интервала [1, 20], полученных с помощью датчика случайных чисел (RND).
Организовать линейный поиск с “барьером’ и найти индекс элемента, равного 15. Если такой элемент отсутствует, выдать
соответствующее сообщение.
27. Дан массив упорядоченных по возрастанию целых чисел размерности n (n меньше или равно 40) и число m. Выяснить с
помощью метода бинарного поиска, есть ли в массиве число, равное m. Если его нет, то добавить его к массиву без нарушения
упорядоченности по возрастанию. Иначе оставить массив без изменения.
28. Дан массив упорядоченных по убыванию целых чисел размерности n (n меньше или равно 30) и число m. Выяснить с
помощью метода бинарного поиска, есть ли в массиве число, равное m. Если его нет, то добавить его к массиву без нарушения
упорядоченности по убыванию. Иначе оставить массив без изменения.
29. Результаты соревнований по марафону представлены массивами фамилий и результатов. В марафоне участвовало 30 человек. Массивы отсортированы в порядке занятых мест. Определить линейным поиском фамилию спортсмена, показавший результат 3 часа.
30. Результаты соревнований по марафону представлены массивами фамилий и результатов. В марафоне участвовало 40 человек. Массивы отсортированы в порядке занятых мест. Определить бинарным поиском фамилию спортсмена, показавший результат 4 часа.