Одномерные массивы

Автор работы: Пользователь скрыл имя, 26 Октября 2011 в 20:44, лекция

Краткое описание

Массив — это структура данных, которую можно рассматривать как набор переменных одинакового типа, имеющих общее имя. Массивы бывают одномерные и многомерные. Доступ к элементам массива осуществляется по индексу.
Массив в программах должен быть объявлен. Это делается следующим образом:
<имя>: array [<н_индекс>..<в_индекс>] of <тип>;

Содержимое работы - 1 файл

Массивы.doc

— 295.00 Кб (Скачать файл)

825. Дан упорядоченный по убыванию массив чисел. Вводим число N. Вставить это число в упорядоченный массив так, чтобы массив-результат тоже был упорядочен по убыванию.

826. Даны два упорядоченных массива целых чисел M1 и М2. Объединить их в один упорядоченный массив. Рассмотреть случаи, когда массивы M1 и М2 упорядочены одинаково и когда по-разному.

827. Дан массив чисел. Найти сумму трех минимальных элементов.

828. Дан массив целых чисел. Записать его элементы в обратном порядке.

829. Дан массив целых чисел M1. Вводим массив M2, размер которого значительно меньше, чем у M1. Определить, сколько раз массив M2 встречается в M1.

830. Выставленные в журнале оценки результатов контрольной работы по информатике образуют массив Z(n). Написать алгоритм и программу определения числа отличных оценок, числа плохих оценок, среднего балла за контрольную работу. Массив оценок сформировать с помощью генератора случайных чисел.

831. При диспансеризации школьников определялись их рост и вес. В результате были получены массивы значений роста R(n) и веса W(n). Написать алгоритм и программу определения школьников с максимальным и минимальным ростом и их номеров в таблице, а также номер школьника с наибольшим дефицитом веса (наименьшим отношением веса к росту). Кроме того, следует упорядочить по возрастанию массив весов. Вывести результаты работы программы. Массивы значений роста и веса для отладки программы сформировать с помощью генератора случайных чисел.

832. Имеется таблица зарплаты Z(n), премий P(n) и удержаний U(n). Написать алгоритм и программу определения элементов таблицы «к выдаче на руки» R(n), суммарной величины зарплаты, максимальной премии и ее номера в таблице. Упорядочить по убыванию массив удержаний. Все исходные массивы для отладки программы сформировать с помощью генератора случайных чисел.

833. На соревнованиях по прыжкам в высоту и в длину получены два массива результатов H(n) и D(n). Определить три лучших и три худших результата в каждом виде соревнований. Для проверки работоспособности программы тесты сформировать с помощью генератора случайных чисел.

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

а) определяет максимальный и минимальный по величине элементы массива и номера соответствующих им дней в массиве;

б) определяет среднее значение давления за время наблюдения;

в) подсчитывает количество дней, в которые давление превышало заданную величину d;

г) сортирует массив по возрастанию;

д) выводит исходный, упорядоченный массив и результаты вычислений.

Для отладки  программы исходный массив сформировать с помощью генератора случайных чисел. Величину давления брать равной 760 ± а, где а = [0, ..., 20].

835. В автопарке при обработке путевых листов получены два массива: массив S(n) пробега автомашины при n выездах и массив B(n) соответствующего расхода бензина. Написать программу, которая:

а) вычисляет суммарный пробег и суммарный расход бензина за все выезды;

б) вычисляет средний пробег и средний расход бензина за один выезд;

в) определяет максимальный и минимальный пробег за один выезд и их номера в массиве;

г) вычисляет важный показатель экономичности автомобиля — средний расход бензина в литрах на 100 километров;

д) упорядочивает массив пробега по убыванию;

е) выдает исходные массивы, упорядоченный массив и результаты решения.

При формировании исходных массивов использовать генератор  случайных чисел и считать, что  S[i] = 10´[0,5, ..., 2] ´ B[i].

836. Арендатор взял для откорма n бычков. После их взвешивания была получена таблица P1(n). Через три месяца откорма после очередного взвешивания была получена таблица P2(n). Записать программу, которая:

а) формирует таблицу P3(n) привесов и определяет максимальный и минимальный привесы и их номера в таблице;

б) вычисляет средний привес;

в) подсчитывает количество бычков, привес которых  ниже нормы d;

г) упорядочивает таблицу привесов по убыванию;

д) отображает исходные и полученные таблицы, а также результаты вычислений.

Для отладки  программы исходные массивы сформировать с помощью генератора случайных чисел.

837. Руководство фирмы ведет по месяцам учет расходов и поступлений средств. За n месяцев получены два массива: R(n) — расходов и P(n) — поступлений. Сформировать из массивов R(n) и P(n) массив прибыли Z(n). Определить общую прибыль (как за весь период, так и по месяцам она может быть отрицательная), месяц с максимальной и месяц с минимальной прибылью, количество месяцев с положительной прибылью.

838. Для массива целых чисел определить разность между суммой элементов с нечетными номерами и суммой элементов с четными номерами.

839. Заполнить массив значениями скорости в каждую секунду из первых 50 секунд движения тела, движущегося с начальной скоростью V0 и ускорением а. Напомним формулу: VVat. Начальную скорость и ускорение ввести с клавиатуры.

840. Перемешать колоду из n игральных карт (= 36 или = 52). Заполнить массив K(n) числами натурального ряда K(i) = i. При перемешивании использовать обмен переменных со сгенерированными случайными номерами.

841. Написать алгоритм смены мест в заданном массиве 1-го элемента с последним, 2-го с предпоследним и так далее.

842. Задан массив вещественных чисел. Создать два массива, в первый из которых записать пять первых по порядку положительных чисел исходного массива, во второй — номера этих элементов.

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

844. С помощью датчика случайных чисел создать массив целых чисел, элементы которого отличаются от своих соседей по массиву на малую величину, например, не более, чем на 10 %. Такие массивы находят применение, например, при создании проверочных тестов в задачах об изменении атмосферного давления или температуры воздуха по дням месяца и т. п.

845. Проверить, не являются ли элементы заданного массива элементами арифметической или геометрической прогрессии.

846. На плоскости заданы n точек своими координатами х и у. Написать программу определения расстояния между наиболее удаленными друг от друга точками и расстояния между наименее удаленными точками.

847. Проверить, не является ли последовательность элементов массива а[0; n] перестановкой натуральных чисел 0, 1, 2, 3, ..., n.

848. Задан массив вещественных чисел и натуральные числа R и R. Создать и заполнить массив номеров таких чисел исходного массива, которые отличаются от R не более чем на Н.

849. Написать программу определения в одномерном массиве вещественных чисел наибольшего количества последовательно расположенных положительных чисел*.

850. Написать программу определения в одномерном массиве целых чисел наибольшее количество последовательно расположенных чисел, образующих «пилу». Например, пилу образуют числа 3, 7, 5, 9, 2, 4, 1, 6.

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

852. Образуем числовую последовательность. Начальный элемент — произвольное натуральное число, кратное трем; за любым элементом последовательности следует число, равное сумме кубов всех цифр данного элемента. Доказать, что такая последовательность, начиная с некоторого места, становится постоянной и равной некоторому числу. Чему равно это число?

853. Первый член последовательности — четырехзначное целое число, цифры которого не все одинаковые. Каждый последующий элемент образуется следующим образом. Цифры предыдущего элемента располагаем в убывающем порядке (первое число) и в возрастающем порядке (второе число). Из первого числа вычитаем второе и получаем следующий элемент последовательности. Показать, что такая последовательность, начиная с некоторого элемента, становится постоянной и равной некоторому числу. Чему равно это число?

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

855. В одномерном массиве все отрицательные элементы переместить в начало массива, а остальные — в конец с сохранением порядка следования. Дополнительный массив использовать не разрешается.

856. В одномерном массиве с четным количеством элементов (2N) находятся координаты N точек плоскости. Они располагаются в следующем порядке: x1, y1, x2, y2, x3, y3 и т. д. Определить

а) минимальный радиус окружности с центром в начале координат, которая содержит все точки;

б) кольцо с центром в начале координат, которое содержит все точки;

в) номера точек, которые могут являться вершинами равнобедренного треугольника;

г) номера наиболее и наименее удаленных друг от друга точек;

д) три точки, являющиеся координатами треугольника, который в свою очередь содержит остальные координаты на минимальном расстоянии от своих вершин.

857. Задан целочисленный массив размерности N. Есть ли среди элементов массива простые числа? Если да, то вывести номера этих элементов.

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

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

860. Даны две последовательности целых чисел а1, а2, ..., an и b1, b2, ..., bn. Все члены последовательностей — различные числа. Найти, сколько членов первой последовательности совпадает с членами второй последовательности.

861. Дан целочисленный массив А[n], среди элементов есть одинаковые. Создать массив из различных элементов А[n].

862. На плоскости n точек заданы своими координатами, и также дана окружность радиуса R с центром в начале координат. Указать множество всех треугольников с вершинами в заданных точках, пересекающихся с окружностью; множество всех треугольников, содержащихся внутри окружности.

863. Некоторое число содержится в каждом из трех целочисленных неубывающих массивов x[1] ≤ ... ≤ х[р], у[1] ≤ ... ≤ y[q], z[1] ≤ … ≤ z[r]. Найти одно из таких чисел. Число действий должно быть порядка р r.

Информация о работе Одномерные массивы