Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
C++ Лабораторная работа № 6 КТ.doc
Скачиваний:
57
Добавлен:
28.05.2015
Размер:
1.57 Mб
Скачать

Формирование массива Теория

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

Примеры

Сформировать новый массив из индексов элементов массива x, равных элементу с номеромp.

Исходные данные:Целочисленный массивxизnэлементов,

p– номер элемента.

Результат:Целочисленный массивyизjэлементов.

При описании массива yследует зарезервировать столько же элементов, сколько в массивеx, т.к. все элементы массиваxмогут удовлетворять данному условию.

Тестовый пример: приn=10,p=1

массив x: 4, 6, 8, 4, 6, 2, 8, 4, 7, 4.

массив y: 1, 4, 8, 10

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

Дано:Целочисленный массивtизnэлементов,

Результат:Целочисленный массивvизhэлементов

Промежуточные значения:

a– номер минимального элемента

b– номер максимального элемента

p– номер левого экстремального элемента,

r– номер правого экстремального элемента

h– текущий индекс элементов массиваv,

Тестовый пример: приn=10,

массив t: 3, 6, 9, 3, 7, 4, 2, 8, 5, 6

массив v: 9, 3, 7, 4, 2.

Задание 2.Написать и отладить программы для примера 12.

Контрольные вопросы

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

  2. В каких ситуациях при получении нового массива не надо использовать новый индекс.

  3. Для чего в Примере 13 используются переменные pиr.

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

Задание для лабораторных работ

  1. Дан массив целых чисел. Получить новый массив из данного без нулевых элементов.

  2. Дан массив целых чисел, каждое из которых отлично от нуля. Если в массиве отрицательные и положительные члены чередуются (+, -, +, -, … или -, +, -, +, …), то получить новый массив совпадающий с данным. Иначе получить новый массив из отрицательных элементов данного массива, сохранив порядок их следования.

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

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

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

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

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

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

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

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

  11. Дан массив целых чисел. Получить новый массив из первоначального, отбросив все нулевые элементы в этом массиве.

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