Лабы_по_проге_Берлин / Лабораторная работа 3
.docxЛабораторная работа №3. Одномерные массивы
Теория.
Массив - это тип данных, который используется для представления последовательности однородных значений. Массив представляет собой группу элементов одного типа. Объявляется массив следующим образом:
тип название[количество_элементов];
Квадратные скобки ([]) говоря о том, что название – имя массива, а число, заключенное в скобки, указывает количество элементов массива. Нумерация элементов массива начинается с нуля, поэтому название[0] является первым, а название[количество_элементов-1] последним элементом массива. Отдельный элемент массива определяется при помощи его номера или индекса. Элементы массива размещаются в памяти последовательно, друг за другом. Имя массива является указателем на первый элемент массива.
В С++ операции new и delete предназначены для динамического распределения памяти компьютера. Операция new выделяет память из области свободной памяти, а операция delete высвобождает выделенную память. Выделяемая память, после её использования должна высвобождаться, поэтому операции new и delete используются парами. Даже если не высвобождать память явно, то она освободится ресурсами ОС по завершению работы программы. Рекомендую все-таки не забывать про операцию delete.
Как было сказано раньше, массивы также могут быть динамическими. Чаще всего операции new и delete применяются, для создания динамических массивов, а не для создания динамических переменных. Рассмотрим фрагмент кода, создания одномерного динамического массива:
// объявление одномерного динамического массива на 10 элементов:
float *ptrarray = new float [10];
// где ptrarray – указатель на выделенный участок памяти под массив вещественных чисел типа float
// в квадратных скобочках указываем размер массива
После того как динамический массив стал ненужным, нужно освободить участок памяти, который под него выделялся.
// высвобождение памяти отводимой под одномерный динамический массив:
delete [] ptrarray;
После оператора delete ставятся квадратные скобочки, которые говорят о том, что высвобождается участок памяти, отводимый под одномерный массив.
Задание.
1. В одномерном массиве, состоящем из n вещественных элементов, вычислить:
-
номер минимального по модулю элемента массива;
-
сумму модулей элементов массива, расположенных после первого отрицательного элемента.
Сжать массив, удалив из него все элементы, величина которых находится в интервале [а, b]. Освободившиеся в конце массива элементы заполнить нулями.
2. В одномерном массиве, состоящем из n вещественных элементов, вычислить:
-
номер максимального по модулю элемента массива;
-
сумму элементов массива, расположенных после первого положительного элемента.
Преобразовать массив таким образом, чтобы сначала располагались элементы, целая часть которых лежит и интервале [a,b], а потом - все остальные.
3. В одномерном массиве, состоящем из n вещественных элементов, вычислить:
-
количество элементов массива, лежащих в диапазоне от А до В;
-
сумму элементов массива, расположенных после максимального элемента.
Упорядочить элементы массива по убыванию модулей.
4. В одномерном массиве, состоящем из n вещественных элементов, вычислить:
-
количество элементов массива, равных нулю;
-
сумму элементов массива, расположенных после минимального элемента.
Упорядочить элементы массива по возрастанию модулей.
5. В одномерном массиве, состоящем из n вещественных элементов, вычислить:
-
количество элементов массива, больших С;
-
произведение элементов массива, расположенных после максимального по модулю элемента.
Преобразовать массив таким образом, чтобы сначала располагались отрицательные элементы, а потом - все положительные (элементы, равные нулю считать положительными).
6. В одномерном массиве, состоящем из n вещественных элементов, вычислить:
-
количество отрицательных элементов массива;
-
сумму модулей элементов массива, расположенных после минимального по модулю элемента.
Заменить все отрицательные элементы массива их квадратами и упорядочить элементы массива по возрастанию.
7. В одномерном массиве, состоящем из n целочисленных элементов, вычислить:
-
количество положительных элементов массива;
-
сумму элементов массива, расположенных после последнего элемента равного нулю.
Преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых не превышает единицу, а потом - все остальные.
8. В одномерном массиве, состоящем из n вещественных элементов, вычислить:
-
количество элементов массива, меньших С;
-
сумму целых частей элементов массива, расположенных после последнего отрицательного элемента.
Преобразовать массив таким образом, чтобы сначала располагались все элементы, отличающиеся от максимального, не более чем на 20%, а потом - все остальные.
9. В одномерном массиве, состоящем из n вещественных элементов, вычислить:
-
произведение отрицательных элементов массива;
-
сумму положительных элементов массива, расположенных до максимальною элемента.
Изменить порядок следования элементов в массиве на обратный.
10. В одномерном массиве, состоящем из n вещественных элементов, вычислить:
-
произведение положительных элементов массива;
-
сумму элементов массива, расположенных до минимального элемента.
Упорядочить по возрастанию отдельно элементы, стоящие на четных местах и элементы, стоящие на нечетных местах.