Лабораторная работа №4. Массивы одномерные.

Перечень задач

  1. Простые — A
  2. Средние — B
  3. Сложные — C

1B. Решить задачу («Сумма четных-четных»)

Найти сумму всех чётных элементов массива, стоящих на чётных местах (то есть имеющие чётные номера).

Пример: для массива (21,21,23,22,22,24) при нумерации [1..6] результат: 46.

Смотреть


2B. Решить задачу («Сумма с условием»)

Найти сумму элементов, больших чем заданное число B (B вводится с клавиатуры).

Пример: для массива (21,21,23,22,22,24) при В = 22, результат: 47.

Смотреть


3B. Решить задачу («Сумма из диапазона»)

Найти сумму элементов, принадлежащих промежутку от B до C (B и C вводятся с клавиатуры).

Пример: для массива (21,20,23,22,22,24) при В = 21 и С = 23, результат: 88.

Смотреть


4B. Решить задачу («Количество с условием»)

Найти количество и сумму нечетных элементов.

Пример: для массива (21,20,23,22,22,24), результат: количество = 2, сумма = 44.

Смотреть


5B. Решить задачу («Произведение с условием»)

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

Пример: для массива (21,-20,23,-22,22,-1) , результат: количество = 3, произведение = -440.

Смотреть


6B. Решить задачу («Количество с модулем»)

Сколько элементов массива превосходят по модулю заданное число B?

Пример: для массива (21, 11, -23, 12-22, 2024) при В = 20, результат: 4.

Смотреть


7B. Решить задачу («Количество с ИЛИ»)

Найти все элементы, кратные 3 или 5. Сколько их?

Пример: для массива (21, 15, -23, 12, -22, 2024) , результат: 5.

Смотреть


8B. Решить задачу («Линейный поиск»)

Есть ли в данном массиве элемент, равный заданному числу? Если есть, то вывести номер одного из них (линейный поиск).

Пример: для массива (21, 11, -23, 12, 11, 20, 24) при нумерации [1..7] и искомом числе В = 11, результат: 2 или 5.

Пример: для массива (21, 11, -23, 12, 11, 20, 24)  и искомом числе В = 99, результат: Не найдено.

Смотреть


9B. Решить задачу («Сумма первых пяти»)

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

Пример: для массива (10, 11, 12, 13, 14, 15, 16, 17) , результат: 60;  для массива (10, 11, 12) , результат: 33

Смотреть


10B. Решить задачу («Сумма по диапазону индексов»)

Найти сумму элементов с k1-го по k2-ой, где k1 и k2 вводятся с клавиатуры. Сделайте проверку корректности их ввода.

Пример: для массива (11, 12, 13, 14, 15, 16, 17, 18, 19, 20) при нумерации [1..10], k1 = 3 и k2 = 5, результат: 42.

Смотреть


11B. Решить задачу («Номера отрицательных с флажком»)

Найти номера всех отрицательных элементов (вывести их на экран), если таких нет, то сообщить об этом.

Пример: для массива (21, 11, -23, 12, -11, 20, -24) при нумерации [1..7], результат: 3, 5, 7.

Для массива (21, 11, 23, 12, 11, 20, 24) результат: Не найдено.

Смотреть


12B. Решить задачу («Номера максимумов»)

Найти номера всех элементов с максимальным значением.

Пример: для массива (20, 11, -23, 12, -11, 20, -24) при нумерации [1..7], результат: 1, 6.

Смотреть


13B. Решить задачу («Номера пары положительных»)

Есть ли в данном массиве два соседних положительных элемента? Найти номера последней пары. Переделать программу для поиска первой пары.

Пример: для массива (-20, 11, 23, 12, -11, 20, -24) при нумерации [1..7], результат: 3, 4 (последняя пара).

Для массива (-20, 11, -23, 12, -11, 20, -24) результат: Не найдено.

Для массива (-20, 11, 23, 12, -11, 20, -24)  результат: 2, 3 (первая пара).

Смотреть


14B. Решить задачу («Перевертыш»)

Дан одномерный массив. Переставить его элементы в обратном порядке. Доработать программу таким образом, чтобы перестановка осуществлялась в диапазоне с индексами k1 и k2.

Пример: для массива (5, 6, 7, 8, 9)  результат: (9, 8, 7, 6, 5).

Для массива (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) при нумерации [1..10], k1=3 и k2 = 7,  результат: (1, 2, 7, 6, 5, 4, 3, 8, 9, 10).

Смотреть


15B. Решить задачу («Перевертыш в диапазоне»)

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

Пример: для массива (11, -12, 33, 14, 15, 16, 17, 18, -12, 33)  результат: (11, -12-12, 18, 17, 16, 15, 14, 33, 33).

Смотреть


16B. Решить задачу («Перестановка половин»)

Дан одномерный массив A, состоящий из 2n элементов. Переставить его элементы по следующему правилу: a[n+1], a[n+2],…, a[2n], a[1], a[2],…, a[n]. Использовать вспомогательный массив, затем исключить использование вспомогательного массива.

Пример: для массива (5, 6, 7, 8, 9, 10)  результат: (8, 9, 10, 5, 6, 7 ).

Смотреть


17B. Решить задачу («Перестановка половин с разворотом левой»)

Дан одномерный массив A, состоящий из 2n элементов. Переставить его элементы по следующему правилу: a[n+1] a[n+2],…, a[2n], a[n],…, a[1]. Использовать вспомогательный массив, затем исключить использование вспомогательного массива.

Пример: для массива (5, 6, 7, 8, 9, 10)  результат: (8, 9, 10, 7, 6, 5 ).

Смотреть


18B. Решить задачу («Перестановка половин с разворотом правой»)

Дан одномерный массив A, состоящий из 2n элементов. Переставить его элементы по следующему правилу: a[2n], a[2n-1],…, a[n+1], a[1], a[2],…, a[n]. Использовать вспомогательный массив, затем исключить использование вспомогательного массива.

Пример: для массива (5, 6, 7, 8, 9, 10)  результат: (10, 9, 8, 5, 6, 7 ).

Смотреть


19B. Решить задачу («Гармошка»)

Дан одномерный массив A, состоящий из 2n элементов. Переставить его элементы по следующему правилу: a[1], a[n+1], a[2], a[n+2],…, a[n], a[2n] (поочередно берем один элемент из левой половины, затем один из правой, затем снова один из левой, один из правой и т.д.).

Пример: для массива (5, 6, 7, 8, 9, 10)  результат: (5, 8, 6, 9, 7, 10).

Смотреть


20B. Решить задачу («Перестановка двух элементов»)

Дан одномерный массив A, состоящий из 2n элементов. Переставить его элементы по следующему правилу: первый и последний отрицательный.

Пример: для массива (11, -12, 33, 14, 15, 16, 17, 18, -12, 33)  результат: (-12, -12, 33, 14, 15, 16, 17, 18, 11, 33).

Смотреть


21B. Решить задачу («Перестановка второго и последнего минимального»)

Дан одномерный массив A, состоящий из 2n элементов. Переставить его элементы по следующему правилу: второй и последний минимальный.

Пример: для массива (11, 12, 33, 14, -15, 16, -17, 18, -15, 33)  результат: (11, —15, 33, 14, -15, 16, -17, 18, 12, 33).

Смотреть


22B. Решить задачу («Сортировка выбором»)

Дан одномерный массив A. Отсортировать его методом выбора.

Пример: для массива (41, 12, 33, 14, -15)  результат: (-15, 12, 14, 33, 41).

Смотреть


23B. Решить задачу («Сортировка пузырьком»)

Дан одномерный массив A. Отсортировать его методом пузырька.

Пример: для массива (41, 12, 33, 14, -15)  результат: (-15, 12, 14, 33, 41).

Смотреть


24C. Решить задачу («Слияние двух массивов»)

Даны два одномерных упорядоченных массива A и B длины n. Не используя сортировку слить эти два массива в один упорядоченный массив длины 2n.

Пример: для массивов (0, 5, 10, 15, 20)  и  (6, 8, 10, 12, 14) результат: (0, 5, 6, 8, 10, 10, 12, 14, 15, 20).

Смотреть


25B. Решить задачу («Цепочка четных»)

Дан целочисленный массив из 40 элементов. Напишите программу, которая находит и выводит сумму элементов самой длинной последовательности подряд идущих четных элементов массива.

Пример: для массива (7, 4, 3, 44, 54, 0, 11, 12, 12, 3)  результат: 3 (элементы 44, 54, 0).

Смотреть


26B. Решить задачу («Цепочка возрастающих»)

Дан целочисленный массив из 40 элементов. Напишите программу, которая находит и выводит сумму элементов самой длинной возрастающей (неубывающей) последовательности подряд идущих элементов массива.

Пример: для массива (7, 4, 3, 44, 54, 0, 11, 12, 12, 3)  результат: 4 (элементы 0, 11, 12, 12).

Смотреть


27B. Решить задачу («Второй максимум простой»)

Найти значение наибольшего элемента массива, который будет меньше максимального элемента. (использовать два прохода по массиву)

Пример: для массива (7, 4, 3, 44, 54, 0, 54, 12, 44, 12, 3)  результат: 44.

Смотреть


28B. Решить задачу («Второй максимум за 1 проход»)

Найти значение наибольшего элемента массива, который будет меньше максимального элемента. (использовать один проход по массиву).

Пример: для массива (7, 4, 3, 44, 54, 0, 54, 12, 44, 12, 3)  результат: 44.

Смотреть


29B. Решить задачу («Число вхождений максимума простой»)

Найти количество вхождений в массив его максимального элемента. (использовать два прохода по массиву).

Пример: для массива (7, 4, 3, 44, 54, 0, 54, 12, 44, 12, 3)  результат: 2.

Смотреть


30B. Решить задачу («Число вхождений максимума за один проход»)

Найти количество вхождений в массив его максимального элемента. (использовать один проход по массиву).

Пример: для массива (7, 4, 3, 44, 54, 0, 54, 12, 44, 12, 3)  результат: 2.

Смотреть


31B. Решить задачу («Удаление элемента»)

Дан массив положительных чисел длины N. Удалить элемент на позиции M (следующие элементы сдвинуть на одну позицию влево, последнему элементу присвоить значение -1).

Пример: для массива (7, 4, 33, 44, 54, 0, 54, 12, 44, 12), нумерации [1..10]  и M = 3 результат: (7, 4, 44, 54, 0, 54, 12, 44, 12, -1).

Смотреть


32B. Решить задачу («Вставка элемента»)

Дан массив положительных чисел длины N. Вставить на позиции M значение -1 (прежние элементы сдвинуть на одну позицию вправо, последний элемент при этом замещается предпоследним).

Пример: для массива (7, 4, 33, 44, 54, 0, 54, 12, 44, 12), нумерации [1..10]  и M = 3 результат: (7, 4, -133, 44, 54, 0, 54, 12, 44).

Смотреть


33C. Решить задачу («Пары противоположных»)

Дан массив длины N из положительных и отрицательных чисел (нулевых значений нет). Подсчитать количество пар противоположных по знаку чисел. При наличии нескольких одинаковых по модулю, но разных по знаку чисел  (например, -2, 2, 2, -2, -2) считать их одной парой.

Пример: для массива (-12, 4, 3, 44, 3, 10, 11, 12,  44, 11, -3)  результат: 2.

Смотреть


34B. Решить задачу («Проверка на повторы»)

Дан массив длины N. Проверить, есть ли в нем повторяющиеся значения.

Пример: для массива (12, 4, 3, 44, 3)  результат: Да.

Для массива (12, 4, 13, 44, 3)  результат: Нет.

Смотреть


35B. Решить задачу («Проверка на упорядоченность»)

Дан массив длины N. Проверить, является ли он упорядоченным (то есть неубывающим или невозрастающим).

Пример: для массива (12, 4, 13, 44, 3)  результат: Нет.

Для массива (1, 4, 13, 44, 300)  результат: Да.

Для массива (11, 4, -13, -44, -44)  результат: Да.

Смотреть


36C. Решить задачу («Сортировка моментов времени»)

Пользователь вводит в программу данные об N моментах времени одних и тех же суток (например, 02:30, 01:00, …). Вывести эти моменты времени, упорядочив их по возрастанию.

Пример: Для значений времени 00:00, 19:45, 10:00, результат: 00:00, 10:00, 19:45.

Смотреть


37B. Решить задачу («Разделение по знаку»)

Дан массив длины N из положительных и отрицательных чисел. Переместить отрицательные числа в левую часть массива, а положительные в правую часть массива, сохранив взаимное расположение чисел одного знака друг относительно друга.

Пример:  Для набора (10, -2, 1, -8, 9, -3, 5), результат: (-2, -8, -3, 10, 1, 9, 5).

Смотреть


38C. Решить задачу («Бинарный поиск»)

Дан массив длины N из положительных возрастающих чисел. Определить позицию значения В, заданного пользователем, используя бинарный поиск. Если искомого элемента в массиве нет, сообщить об этом.

Пример:  Для массива (1, 5, 10, 12, 20, 44, 100) при нумерации [1..7] и В = 10, результат: 3.

Для массива (1, 5, 10, 12, 20, 44, 100)  и В = 11, результат: Не найдено.

Смотреть


39C. Решить задачу («Разряды числа в массиве»)

Дано число N, меньшее 1000. Заполнить массив длиной в 30 элементов цифрами этого числа по принципу: каждая цифра должна быть повторена столько раз, чему она равна.

Пример: 321 => (3,3,3,2,2,1, 0, 0, 0, 0, …)

Смотреть


40B. Решить задачу («Сортировка подсчетом»)

Дан одномерный массив A, числа которого находятся в диапазоне 1..5. Отсортировать его методом подсчета.

Пример: для массива (1, 2, 3, 3, 1, 1)  результат: (1, 1, 1, 2, 3, 3).

Смотреть


 

К началу