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

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

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

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

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

Массивы.doc

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

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

865. Дана целочисленная таблица А[n]. Найти наименьшее число элементов, которые нужно выкинуть из данной последовательности, чтобы осталась возрастающая подпоследовательность.

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

867. Известно, что в массиве имеются элементы, равные 5. Определить:

а) номер первого из них;

б) номер последнего из них.

В обеих  задачах условную инструкцию не использовать.

868. Известно, что в массиве имеются элементы, большие 65 530. Определить:

а) номер первого;

б) номер последнего.

В обеих  задачах условную инструкцию не использовать.

869. Известно, что в массиве имеются нулевые элементы. Напечатать:

а) все элементы, кроме первого;

б) все элементы, кроме последнего.

В обеих  задачах условную инструкцию не использовать.

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

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

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

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

871. Известны данные о росте 15 юношей класса, упорядоченные по убыванию. Нет ни одной пары учеников с одинаковым ростом. В начале учебного года в класс поступил новый ученик. Какое место в перечне значений роста займет рост этого ученика (известно, что его рост не совпадает с ростом ни одного из учеников класса, превышает рост самого низкого ученика и меньше роста самого высокого)? Условную инструкцию не использовать.

872. Известно количество очков, набранных каждой из 20 команд-участниц первенства по футболу. Перечень очков дан в порядке убывания (ни одна пара команд не набрала одинакового количества очков). Определить, какое место заняла команда, набравшая n очков (естественно, что значение n имеется в перечне). Условную инструкцию не использовать.

873. В начале массива записано несколько равных между собой элементов. Определить количество таких элементов и вывести все элементы, следующие за последним из них. Условную инструкцию не использовать. Предусмотреть возможность, что все элементы массива равны между собой.

874. Дан массив целых чисел.

а) Напечатать все элементы, предшествующие первому элементу с заданным значением n. Если элементов, равных n, в массиве нет, то должны быть напечатаны все элементы.

б) Напечатать все элементы, следующие за последним элементом, оканчивающимся цифрой 7. Если элементов, оканчивающихся цифрой 7, в массиве нет, то ни один элемент не должен быть напечатан.

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

876. Дано натуральное число n. Определить количество различных цифр в нем. Например, в числе 1234 количество различных цифр равно 4, в числе 22 424 — 2, в числе 333 — 1.

877. В массиве имеются только два одинаковых элемента. Найти их.

878. Для арифметических операций с большими числами, которые не могут быть представлены в памяти компьютера, используется следующий прием. Каждая цифра таких чисел записывается в отдельный элемент массива, и необходимые операции проводятся с элементами массива цифр. Составить программу:

а) выполняющую сложение 20-значных чисел;

б) выполняющую вычитание 30-значных чисел.

879. Получить последовательность цифр числа 2100.

880. Получить последовательность цифр числа 100! (n! = 1 · 2 · ... · n).

881. Удалить из массива*:

а) третий элемент;

б) k-й элемент.

882. В массиве записана информация о стоимости каждого из 20 видов товара, продаваемых фирмой. С 1 января очередного года фирма прекращает продавать товар, стоимость которого записана в n-м элементе массива. Получить массив со стоимостью всех оставшихся видов товара.

883. Дан массив, в котором все элементы различны. Удалить из него:

а) максимальный элемент;

б) минимальный элемент.

884. В массиве записана информация о росте каждого из 25 учеников класса (в порядке убывания роста). Один из учеников из класса выбыл. Получить новый массив с упорядоченными в том же порядке данными о росте оставшихся учеников.

885. Удалить из массива:

а) первый отрицательный элемент (если отрицательные элементы в массиве есть);

б) удалить последний четный элемент (если четные элементы в массиве есть).

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

887. В массиве записана информация о росте каждого из 25 учеников класса (в порядке убывания роста). Из класса выбыли два ученика. Получить новый массив с упорядоченными в том же порядке данными о росте оставшихся учеников.

888. Удалить из массива:

а) все отрицательные элементы;

б) все элементы, большие данного числа n;

в) все  элементы, начиная с n1-го по n2-й (n≤ n2).

889. Дан массив целых чисел. Удалить из него:

а) все четные элементы, стоящие на нечетных местах;

б) все элементы, кратные 3 или 5.

890. Удалить из массива все повторяющиеся элементы, оставив их первые вхождения, то есть в массиве должны остаться только разные элементы.

891. Вставить в массив два числа следующим образом: первое со значением n перед всеми элементами, большими n, и второе со значением m — после всех элементов, меньших m. Каков должен быть максимальный размер исходного массива?

892. Данные о росте 25 учеников класса, упорядоченные по убыванию, записаны в массиве. В начале учебного года в класс поступили два новых ученика. Получить аналогичный массив, учитывающий рост новых учеников. Каков должен быть максимальный размер исходного массива?

893. Вставить число а в массив целых чисел после всех элементов, в которых есть цифра 5. Каков должен быть максимальный размер исходного массива?

894. Вставить число n между всеми соседними элементами, имеющими одинаковый знак. Каков должен быть максимальный размер исходного массива?

895. Заданы два одномерных массива с различным количеством элементов и натуральное число k. Объединить их в один массив, включив второй массив между k-м и (+ 1)-м элементами первого, не используя при этом дополнительный массив.

896. Даны две последовательности а≤ a≤ ... ≤ аn и b≤ b≤ ... ≤ bm. Образовать из них новую последовательность чисел так, чтобы она тоже была неубывающей. Дополнительный массив не использовать.

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

898. Пусть даны две неубывающие последовательности вещественных чисел а≤ a≤ ... ≤ аn и b≤ b≤ ... ≤ bm. Требуется указать те места, на которые нужно вставлять элементы последовательности b1, b2, ..., bm в первую последовательность так, чтобы новая последовательность оставалась возрастающей.

899. Даны дроби (рi, q натуральные). Составить программу, которая приводит эти дроби к общему знаменателю и упорядочивает их в порядке возрастания.

900. Упорядочить массив а1, а2, ..., an по неубыванию с помощью алгоритма сортировки слиянием фон Неймана, когда каждая пара соседних элементов сливается в одну группу из двух элементов (последняя группа может состоять из одного элемента), каждая пара соседних двухэлементных групп сливается в одну четырехэлементную группу и т. д. При каждом слиянии новая укрупненная группа упорядочивается.

901. Сортировка подсчетом. Выходной массив заполняется значениями –1. Затем для каждого элемента определяется его место в выходном массиве путем подсчета количества элементов, строго меньших данного. Естественно, что все одинаковые элементы попадают на одну позицию, за которой следует ряд значений –1. После этого оставшиеся в выходном массиве позиции со значением –1 заполняются копией предыдущего значения.

902. «Хитрая» сортировка. Из массива путем однократного просмотра выбирается последовательность элементов, расположенных в порядке возрастания, переносится в выходной массив и заменяется во входном значением –1. Затем оставшиеся элементы включаются в полученную упорядоченную последовательность методом «погружения», когда очередной элемент путем ряда обменов «погружается» до требуемой позиции в уже упорядоченную часть массива.

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