Динамические массивы

 

Цель лабораторной работы: изучение структурной организации динамических массивов и способов доступа к их элементам с использованием указателей; совершенствование навыков процедурного программирования на языке C/С++ при решении задач обработки динамических массивов.

 

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

 

Порядок выполнения работы:

 

1) Получить у преподавателя индивидуальное задание и выполнить постановку задачи: сформулировать условие, определить входные и выходные данные, их ограничения.

2) Разработать математическую модель: описать с помощью формул и рисунков структуру массивов и процесс их преобразования.

3) Построить схему алгоритма решения задачи.

4) Составить программу на языке C/С++.

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

Выходные данные должны выводиться на экран с пояснениями.

6) Проверить и продемонстрировать преподавателю работу программы на полном наборе тестов, в том числе с ошибочными входными данными. Входные и выходные массивы должны выводиться в одном и том же формате.

7) Использовать стандартные потоковые объекты ввода/вывода cin и cout.

8) Оформить отчет о лабораторной работе в составе: постановка задачи, математическая модель, схема алгоритма решения, текст программы, контрольные примеры.

 


Варианты индивидуальных заданий

 

 
 

 


12

 

 

8 3

 
 

 


7 4

 

 

6 5

 

 

1.

1) Дан массив b0, b1, b2,…, bn-1. Определить сумму значений всех его положительных элементов и количество отрицательных элементов, лежащих между максимальным по абсолютной величине элементом и первым положительным элементом после него.

2) В заданной квадратной матрице размера 2n*2n найти среднее арифметическое значение элементов области 1 (см. рисунок).

 

2.

1) Дан массив a0, a1, a2,…, an-1. Определить произведение значений всех его положительных элементов, лежащих между максимальным отрицательным и минимальным положительным элементами массива.

2) В заданной квадратной матрице размера 2n*2n найти среднее геометрическое значение элементов области 2 (см. рисунок).

 

3.

1) Дан массив x0, x1, x2,…, xn-1. Определить сумму значений всех его элементов, лежащих между минимальным положительным элементом и первым отрицательным элементом после него.

2) В заданной квадратной матрице размера 2n*2n найти среднее геометрическое значение отрицательных элементов области 3 (см. рисунок).

 

4.

1) Дан массив x0, x1, x2,…, xn-1. Определить сумму значений максимального и минимального элементов массива и количество элементов, лежащих между ними.

2) В заданной квадратной матрице размера 2n*2n найти сумму абсолютных значений элементов области 4 (см. рисунок).

 

5.

1) Дан массив y0, y1, y2,…, yn-1. Определить произведение значений максимального по абсолютной величине и минимального по абсолютной величине элементов массива и сумму значений элементов, лежащих между ними.

2) В заданной квадратной матрице размера 2n*2n найти среднее арифметическое значение положительных элементов области 5 (см. рисунок).

 

6.

1) Дан массив x0, x1, x2,…, xn-1. Определить произведение значений элементов массива с чётными номерами и сумму значений элементов с нечётными номерами.

2) В заданной квадратной матрице размера 2n*2n найти среднее геометрическое значение положительных элементов области 6 (см. рисунок).

 

7.

1) Дан массив c0, c1, c2,…, cn-1. Определить произведение абсолютных значений элементов массива с чётными номерами и сумму значений элементов с нечётными номерами, номера которых больше номера элемента с максимальным значением.

2) В заданной квадратной матрице размера 2n*2n найти сумму значений отрицательных элементов области 7 (см. рисунок), умноженную на их количество.

 

8.

1) Дан массив b0, b1, b2,…, bn-1. Определить произведение суммы значений отрицательных элементов массива, лежащих между элементами с максимальным и минимальным значениями, на их количество.

2) В заданной квадратной матрице размера 2n*2n найти сумму абсолютных значений элементов области 8 (см. рисунок), умноженную на количество отрицательных элементов, принадлежащих этой области.

 

9.

1) Дан массив a0, a1, a2,…, an-1. Определить количество и произведение элементов массива, лежащих между элементами с максимальным по абсолютной величине значением и с минимальным по абсолютной величине значением.

2) В заданной квадратной матрице размера 2n*2n поменять местами значения элементов строк областей 1 и 2 (см. рисунок) с одинаковыми номерами.

 

10.

1) Дан массив x0, x1, x2,…, xn-1. Определить произведение значений положительных элементов массива, лежащих между элементами с максимальным по абсолютной величине значением и с минимальным значением.

2) В заданной квадратной матрице размера 2n*2n поменять местами значения элементов столбцов областей 3 и 4 (см. рисунок) с одинаковыми номерами.

 

11.

1) Дан массив y0, y1, y2,…, yn-1. Определить количество и произведение значений отрицательных элементов массива, лежащих между элементами с минимальным по абсолютной величине значением и с максимальным значением.

2) В заданной квадратной матрице размера 2n*2n поменять местами значения элементов столбцов областей 7 и 8 (см. рисунок) с одинаковыми номерами.

 

12.

1) Дан массив z0, z1, z2,…, zn-1. Определить количество и сумму значений положительных элементов массива с чётными номерами, лежащих между элементами с минимальным значением и с максимальным значением.

2) В заданной квадратной матрице размера 2n*2n поменять местами значения элементов строк областей 5 и 6 (см. рисунок) с одинаковыми номерами.

 

13.

1) Дан массив a0, a1, a2,…, an-1. Определить произведение значений положительных элементов массива, лежащих между элементом с минимальным по абсолютной величине значением и элементом с номером n/2.

2) В заданной квадратной матрице размера 2n*2n поменять местами значения элементов строк областей 3 и 8 (см. рисунок) с одинаковыми номерами.

 

14.

1) Дан массив b0, b1, b2,…, bn-1. Определить сумму абсолютных значений элементов массива, лежащих между элементом с минимальным положительным значением и элементом с номером n/2.

2) В заданной квадратной матрице размера 2n*2n поменять местами значения элементов строк областей 4 и 7 (см. рисунок) с одинаковыми номерами.

 

15.

1) Дан массив c0, c1, c2,…, cn-1. Определить произведение абсолютных значений отрицательных элементов массива, лежащих между элементом с максимальным отрицательным значением и элементом с номером n/2.

2) В заданной квадратной матрице размера 2n*2n поменять местами значения элементов столбцов областей 1 и 6 (см. рисунок) с одинаковыми номерами.

 

16.

1) Дан массив d0, d1, d2,…, dn-1. Определить количество и сумму значений отрицательных элементов массива, лежащих между элементом с минимальным положительным значением и элементом с номером n/2.

2) В заданной квадратной матрице размера 2n*2n поменять местами значения элементов столбцов областей 2 и 5 (см. рисунок) с одинаковыми номерами.

 

17.

1) Дан массив x0, x1, x2,…, xn-1. Определить количество и произведение значений положительных элементов массива, лежащих между элементом с максимальным абсолютным значением и элементом с номером n/2.

2) В заданной квадратной матрице размера 2n*2n поменять местами значения элементов строк области 2 и элементов столбцов области 8 (см. рисунок) с одинаковыми номерами.

 

18.

1) Дан массив y0, y1, y2,…, yn-1. Определить сумму значений элементов массива с чётными номерами, лежащих между элементом с минимальным положительным значением и элементом с номером n/2.

2) В заданной квадратной матрице размера 2n*2n поменять местами значения элементов строк области 8 и элементов столбцов области 6 (см. рисунок) с одинаковыми номерами.

 

19.

1) Дан массив z0, z1, z2,…, zn-1. Определить произведение значений элементов массива с нечётными номерами, лежащих между элементом с минимальным значением и первым положительным элементом с номером большим, чем n/2.

2) В заданной квадратной матрице размера 2n*2n поменять местами значения элементов строк области [1+2] и элементов столбцов области [7+8] (см. рисунок) с одинаковыми номерами.

 

20.

1) Дан массив a0, a1, a2,…, an-1. Определить сумму значений элементов массива с чётными номерами, лежащих между элементом с максимальным значением среди отрицательных элементов массива и последним отрицательным элементом с номером меньшим, чем n/2.

2) В заданной квадратной матрице размера 2n*2n поменять местами значения элементов строк области [1+2+3] и элементов столбцов области [6+7+8] (см. рисунок) с одинаковыми номерами.

 

21.

1) Дан массив b0, b1, b2,…, bn-1. Определить произведение значений элементов массива с чётными номерами, лежащих между элементом с максимальным абсолютным значением и последним отрицательным элементом с номером меньшим, чем n/2.

2) В заданной квадратной матрице размера 2n*2n поменять местами значения элементов строк области [5+6+7] и элементов столбцов области [2+3+4] (см. рисунок) с одинаковыми номерами.

 

22.

1) Дан массив c0, c1, c2,…, cn-1. Определить количество и сумму абсолютных значений элементов массива с чётными номерами, лежащих между элементом с минимальным положительным значением и первым отрицательным элементом с номером большим, чем n/2.

2) В заданной квадратной матрице размера 2n*2n поменять местами значения элементов строк области 6 и элементов столбцов области 4 (см. рисунок) с одинаковыми номерами.

 

23.

1) Дан массив d0, d1, d2,…, dn-1. Определить сумму значений элементов массива с чётными номерами, лежащих между первым положительным элементом и последним отрицательным элементом массива.

2) В заданной квадратной матрице размера 2n*2n поменять местами значения элементов строк области 1 и элементов столбцов области 7 (см. рисунок) с одинаковыми номерами.

 

24.

1) Дан массив x0, x1, x2,…, xn-1. Определить абсолютную величину суммы значений элементов массива, лежащих между элементом с минимальным положительным значением и первым положительным элементом с номером большим, чем n/2.

2) В заданной квадратной матрице размера 2n*2n поменять местами значения элементов строк области 7 и элементов столбцов области 5 (см. рисунок) с одинаковыми номерами.

 

25.

1) Дан массив y0, y1, y2,…, yn-1. Определить сумму значений элементов массива с нечётными номерами, лежащих между элементом с минимальным по абсолютной величине значением и последним положительным элементом массива.

2) В заданной квадратной матрице размера 2n*2n поменять местами значения элементов строк области 5 и элементов столбцов области 3 (см. рисунок) с одинаковыми номерами.

 

26.

1) Дан массив z0, z1, z2,…, zn-1. Определить произведение суммы значений положительных элементов массива, лежащих между элементом с максимальным значением среди отрицательных элементов массива и последним отрицательным элементом массива, на их количество.

2) В заданной квадратной матрице размера 2n*2n поменять местами значения элементов строк области 3 и элементов столбцов области 1 (см. рисунок) с одинаковыми номерами.

 

27.

1) Дан массив a0, a1, a2,…, an-1. Определить произведение суммы значений отрицательных элементов массива, предшествующих последнему положительному элементу, на общее количество отрицательных элементов массива.

2) В заданной квадратной матрице размера 2n*2n поменять местами значения элементов строк области 4 и элементов столбцов области 2 (см. рисунок) с одинаковыми номерами.

 

28.

1) Дан массив b0, b1, b2,…, bn-1. Определить произведение суммы абсолютных значений элементов массива с чётными номерами, предшествующих последнему отрицательному элементу массива, на общее количество положительных элементов массива.

2) В заданной квадратной матрице размера 2n*2n поменять местами значения элементов строк области [5+6] и элементов столбцов области [3+4] (см. рисунок) с одинаковыми номерами.

 

29.

1) Дан массив c0, c1, c2,…, c2m-1. Написать программу преобразования массива в массив с элементами, соответственно равными: c2m-1, c2m-2,…, cm, c0, c1, …, cm-1. Дополнительные массивы не использовать.

2) В заданной квадратной матрице размера 2n*2n найти среднее арифметическое значение элементов области [5+6+7] (см. рисунок).

 

30.

1) Дан массив d0, d1, d2,…, d3m-1. Написать программу построения массива с элементами, равными: d0, d3, d6, …, d3m-3, d1, d4, …, d3m-2, d2, d5, …, d3m-1.

2) В заданной квадратной матрице размера 2n*2n найти среднее геометрическое значение элементов области [8+1+2] (см. рисунок).